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


傳回位於序列中指定索引處的項目。Returns the element at a specified index in a sequence.

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

Type Parameters


source 項目的類型。The type of the elements of source.



傳回項目的 IEnumerable<T>An IEnumerable<T> to return an element from.


要擷取的項目之以零為起始索引。The zero-based index of the element to retrieve.



位於來源序列中指定位置的項目。The element at the specified position in the source sequence.


sourcenullsource is null.

index 小於 0 或大於或等於 source 中的項目數目。index is less than 0 or greater than or equal to the number of elements in source.


下列程式碼範例示範如何使用 ElementAt,傳回特定位置的元素。The following code example demonstrates how to use ElementAt to return an element at a specific position.

string[] names =
    { "Hartono, Tommy", "Adams, Terry", "Andersen, Henriette Thaulow",

        "Hedlund, Magnus", "Ito, Shu" };
Random random = new Random(DateTime.Now.Millisecond);

string name = names.ElementAt(random.Next(0, names.Length));

Console.WriteLine("The name chosen at random is '{0}'.", name);

 This code produces the following sample output:

 The name chosen at random is 'Ito, Shu'.
' Create an array of strings.
Dim names() As String =
{"Hartono, Tommy", "Adams, Terry", "Andersen, Henriette Thaulow", "Hedlund, Magnus", "Ito, Shu"}

Dim random As Random = New Random(DateTime.Now.Millisecond)

' Get a string at a random index within the array.
Dim name As String = names.ElementAt(random.Next(0, names.Length))

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

' This code produces the following output:
' The name chosen at random is Ito, Shu


如果 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.

如果 index 超出範圍,這個方法會擲回例外狀況。This method throws an exception if index is out of range. 當指定的索引超出範圍時,若要改為傳回預設值,請使用 ElementAtOrDefault 方法。To instead return a default value when the specified index is out of range, use the ElementAtOrDefault method.

Applies to