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>
时,ElementAt
和 ElementAtOrDefault
都被优化,并且在这些情况下将使用正常索引。
请注意,对于 ElementAt
,如果提供的索引大于 IList<T>
的大小,则列表应该(但在技术上不保证)抛出 ArgumentOutOfRangeException
。