As per the title… Is there any real difference between list.First(), list.ElementAt(0) and list[0]?
As per the title… Is there any real difference between list.First(), list.ElementAt(0) and list[0]?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
.First()will throw an exception if the source list contains no elements. See the Remarks section. To avoid this, useFirstOrDefault()..ElementAt(0)will throw an exception if the index is greater than or equal to the number of elements in the list. To avoid this, useElementAtOrDefault(0). If you’re using LINQ To SQL, this can’t be translated to sql, whereas.First()can translate toTOP 1.The indexer will also throw an exception if the index is greater than or equal to the number of elements in the list. It does not offer an
OrDefaultoption to avoid this, and it cannot be translated to sql for LINQ To SQL. EDIT: I forgot to mention the simple obvious that if your object is an IEnumerable, you cannot use an indexer like this. If your object is an actual List, then you’re fine.