ElementAt 和 ElementAtOrDefault

ElementAt 將返回索引 n 的專案。如果 n 不在可列舉的範圍內,則丟擲一個 ArgumentOutOfRangeException

int[] numbers  = { 1, 2, 3, 4, 5 };
numbers.ElementAt(2);  // 3
numbers.ElementAt(10); // throws ArgumentOutOfRangeException

ElementAtOrDefault 將返回索引 n 的專案。如果 n 不在可列舉的範圍內,則返回 default(T)

int[] numbers  = { 1, 2, 3, 4, 5 };
numbers.ElementAtOrDefault(2);  // 3
numbers.ElementAtOrDefault(10); // 0 = default(int)

當源是 IList<T> 時,ElementAtElementAtOrDefault 都被優化,並且在這些情況下將使用正常索引。

請注意,對於 ElementAt,如果提供的索引大於 IList<T> 的大小,則列表應該(但在技術上不保證)丟擲 ArgumentOutOfRangeException