Hooked on LINQ

Hooked on LINQ - Developers' Wiki
for .NET Language Integrated Query

Quick Search

Advanced Search »
{TOC}
Namespace:System.Linq
Assembly:System.Core.dll
Extends:IEnumerable<T>

Back to Standard Query Operator Index


Edit

Introduction

The ElementAt operator returns the element at a given index in a sequence. If you don't wan't an exception to be thrown when the index is out of range or less than zero, use the ElementAtOrDefault operator instead.

Edit

Method Signatures

public static TSource ElementAt<TSource>(
    this IEnumerable<TSource> source, 
    int index)



Edit

Exceptions

Throws an ArgumentNullException if source is null.
Throws an ArgumentOutOfRangeException if the index < 0 or if index falls beyond the end of the source sequence.


Edit

Pseudo-code

If source is null, throw an ArgumentNullException.
If index is < 0, throw an ArgumentOutOfRangeException.
If the source sequence implements IList<T>, then
Return source[index]. (performance optomization)
Else Iterate the source sequence.
Skip index times. Throw an ArgumentOutOfRangeException if there aren't enough elements.
Return the current element.

Edit

Loop Count

< 1. If the sequence is an IList, then it is index accessed which is optomized for each collection type. If the sequence is not an IList, the number of elements skipped is equal to the index value.

Edit

Code Samples

TODO:Needs code sample.

If you would like to comment on this page, click on the Discuss button located on the top-right of each page. Feel free to edit any mistakes or omissions you find. If you have an objection or find in-appropriate content then contact the administrator. This website is not affiliated with Microsoft®, all content and opinions are those of the specific author and some advice, solutions and article may contain unintentional errors - please use care. Powered by ScrewTurn Wiki version 2.0.33. Some of the icons created by FamFamFam.