ElementAt and ElementAtOrDefault C# with Example
ElementAt will return the item at index n. If n is not within the range of the enumerable, throws an ArgumentOutOfRangeException. int[] numbers = { 1, 2, 3, 4, 5 }; numbers.ElementAt(2); // 3 numbers.ElementAt(10); // throws ArgumentOutOfRangeException ElementAtOrDefault will return the item at index n. If n is not within the range of the enumerable, returns a default(T). int[] numbers = { 1, 2, 3, 4, 5 }; numbers.ElementAtOrDefault(2); // 3 numbers.ElementAtOrDefault(10); // 0 = default(int) Both ElementAt and ElementAtOrDefault are optimized for when the source is an IList and normal indexing will be used in those cases. Note that for ElementAt, if the provided index is greater than the size of the IList, the list should (but is technically not guaranteed to) throw an ArgumentOutOfRangeException.