Enumerable.ElementAtOrDefault<TSource> Método

Definición

Devuelve el elemento de un índice especificado en 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);
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>

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

index
Int32

Índice de base cero del elemento que se va a recuperar.

Devoluciones

TSource

default(TSource) si el índice está fuera de los límites de la secuencia de origen; de lo contrario, el elemento 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 usar 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