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。