Enumerable.ElementAtOrDefault Método

Definición

Sobrecargas

ElementAtOrDefault<TSource>(IEnumerable<TSource>, Index)

Devuelve el elemento situado en un índice especificado de una secuencia o un valor predeterminado si el índice está fuera del intervalo.

ElementAtOrDefault<TSource>(IEnumerable<TSource>, Int32)

Devuelve el elemento situado en un índice especificado de una secuencia o un valor predeterminado si el índice está fuera del intervalo.

ElementAtOrDefault<TSource>(IEnumerable<TSource>, Index)

Devuelve el elemento situado en un índice especificado de una secuencia o un valor predeterminado si el índice está fuera del intervalo.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static TSource ElementAtOrDefault(System::Collections::Generic::IEnumerable<TSource> ^ source, Index index);
public static TSource? ElementAtOrDefault<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Index index);
static member ElementAtOrDefault : seq<'Source> * Index -> 'Source
<Extension()>
Public Function ElementAtOrDefault(Of TSource) (source As IEnumerable(Of TSource), index As Index) As TSource

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

IEnumerable<T> del que se va a devolver un elemento.

index
Index

Índice del elemento que se va a recuperar, que es desde el principio o el final de la secuencia.

Devoluciones

TSource

default es si index está fuera de los límites de la source secuencia; de lo contrario, el elemento situado en la posición especificada de la source secuencia.

Excepciones

source es null.

Comentarios

Si el tipo de source implementa IList<T>, esa implementación se usa para obtener el elemento en el índice especificado. De lo contrario, este método obtiene el elemento especificado.

El valor predeterminado para los tipos de referencia y que aceptan valores NULL es null.

Se aplica a

ElementAtOrDefault<TSource>(IEnumerable<TSource>, Int32)

Devuelve el elemento situado en un índice especificado de una secuencia o un valor predeterminado si el índice está fuera del intervalo.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static TSource ElementAtOrDefault(System::Collections::Generic::IEnumerable<TSource> ^ source, int index);
public static TSource ElementAtOrDefault<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, int index);
public static TSource? ElementAtOrDefault<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, int index);
static member ElementAtOrDefault : seq<'Source> * int -> 'Source
<Extension()>
Public Function ElementAtOrDefault(Of TSource) (source As IEnumerable(Of TSource), index As Integer) As TSource

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

IEnumerable<T> del que se va a devolver un elemento.

index
Int32

Índice de base cero del elemento que se debe recuperar.

Devoluciones

TSource

default(TSource) si el índice está fuera de los límites de la secuencia de origen; de lo contrario, el elemento situado en la posición especificada de la secuencia de origen.

Excepciones

source es null.

Ejemplos

En el ejemplo de código siguiente se muestra cómo utilizar ElementAtOrDefault. En este ejemplo se usa un índice que está fuera de los límites de la matriz.

string[] names =
    { "Hartono, Tommy", "Adams, Terry", "Andersen, Henriette Thaulow",
        "Hedlund, Magnus", "Ito, Shu" };

int index = 20;

string name = names.ElementAtOrDefault(index);

Console.WriteLine(
    "The name chosen at index {0} is '{1}'.",
    index,
    String.IsNullOrEmpty(name) ? "<no name at this index>" : name);

/*
 This code produces the following output:

 The name chosen at index 20 is '<no name at this index>'.
*/
' Create an array of strings.
Dim names() As String =
{"Hartono, Tommy", "Adams, Terry", "Andersen, Henriette Thaulow", "Hedlund, Magnus", "Ito, Shu"}

Dim index As Integer = 20

' Get a string at an index that is out of range in the array.
Dim name As String = names.ElementAtOrDefault(index)

Dim text As String = If(String.IsNullOrEmpty(name), "[THERE IS NO NAME AT THIS INDEX]", name)

' Display the output.
Console.WriteLine($"The name chosen at index {index} is {text}")

' This code produces the following output:
'
' The name chosen at index 20 is [THERE IS NO NAME AT THIS INDEX]

Comentarios

Si el tipo de source implementa IList<T>, esa implementación se usa para obtener el elemento en el índice especificado. De lo contrario, este método obtiene el elemento especificado.

El valor predeterminado para los tipos de referencia y que aceptan valores NULL es null.

Se aplica a