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

Определение

Возвращает элемент последовательности по указанному индексу или значение по умолчанию, если индекс вне допустимого диапазона.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);
static member ElementAtOrDefault : seq<'Source> * int -> 'Source
<Extension()>
Public Function ElementAtOrDefault(Of TSource) (source As IEnumerable(Of TSource), index As Integer) As TSource

Параметры типа

TSource

Тип элементов source.The type of the elements of source.

Параметры

source
IEnumerable<TSource>

IEnumerable<T> Чтобы возвратить элемент.An IEnumerable<T> to return an element from.

index
Int32 Int32 Int32 Int32

Отсчитываемый от нуля индекс извлекаемого элемента.The zero-based index of the element to retrieve.

Возвраты

TSource TSource TSource TSource

default(TSource) Если индекс находится за пределами исходной последовательности; в противном случае элемент в указанной позиции в исходной последовательности.default(TSource) if the index is outside the bounds of the source sequence; otherwise, the element at the specified position in the source sequence.

Исключения

Свойство source имеет значение null.source is null.

Примеры

В следующем примере кода демонстрируется использование метода ElementAtOrDefault.The following code example demonstrates how to use ElementAtOrDefault. В этом примере используется индексом, который находится вне границ массива.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.
MsgBox("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]

Комментарии

Если тип source реализует IList<T>, что реализация используется для получения элемента по указанному индексу.If the type of source implements IList<T>, that implementation is used to obtain the element at the specified index. В противном случае этот метод получает указанный элемент.Otherwise, this method obtains the specified element.

Значение по умолчанию для ссылочных типов и допускающий значение NULL типов — null.The default value for reference and nullable types is null.

Применяется к