Enumerable.ElementAtOrDefault<TSource>(IEnumerable<TSource>, Int32) Metoda

Definicja

Zwraca element o określonym indeksie w sekwencji lub wartości domyślnej, jeśli indeks jest poza zakresem.Returns the element at a specified index in a sequence or a default value if the index is out of range.

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

Parametry typu

TSource

Typ elementów source .The type of the elements of source.

Parametry

source
IEnumerable<TSource>

IEnumerable<T>Do zwrócenia elementu z.An IEnumerable<T> to return an element from.

index
Int32

Indeks (liczony od zera) elementu do pobrania.The zero-based index of the element to retrieve.

Zwraca

TSource

default( TSource ), jeśli indeks znajduje się poza granicami sekwencji źródłowej; w przeciwnym razie element w określonej pozycji w sekwencji źródłowej.default(TSource) if the index is outside the bounds of the source sequence; otherwise, the element at the specified position in the source sequence.

Wyjątki

source to null.source is null.

Przykłady

Poniższy przykład kodu demonstruje sposób użycia ElementAtOrDefault .The following code example demonstrates how to use ElementAtOrDefault. W tym przykładzie użyto indeksu, który znajduje się poza granicami tablicy.This example uses an index that is outside the bounds of the array.

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]

Uwagi

Jeśli typ source IList<T> implementacji, ta implementacja jest używana w celu uzyskania elementu pod określonym indeksem.If the type of source implements IList<T>, that implementation is used to obtain the element at the specified index. W przeciwnym razie ta metoda uzyskuje określony element.Otherwise, this method obtains the specified element.

Wartość domyślna dla typów Reference i nullable jest równa null .The default value for reference and nullable types is null.

Dotyczy