Linq: Sequence contains no matching element

Posted in Misc on March 26th, 2010 by taswar

So sometimes you will get these strange errors or exceptions when using linq.

For example if you use

?View Code CSHARP
1
var result = myEnumerableCollection.First(x => x.Name == person.Name);

This will throw InvalidOperationException with Sequence contains no matching element.

But if you use

?View Code CSHARP
1
2
3
var result = myEnumerableCollection.FirstOrDefault(x => x.Name == person.Name);
if(result == null)
 //did not find in the collection something went wrong or .....

Which will return you a null if its not found then you can check if the result is null and continue on with your work :)

Hope this helps :)

Share

5 Responses

  1. david Says:

    thanks this helped!

  2. Chinthana Says:

    Thanks very much, I started using it.

  3. Jalal Says:

    Thank you! Exactly what i want! :x

  4. Roland Says:

    Didn’t work for me. I think my error was caused because my ICollection had no items.

  5. Roland Says:

    Turns Out First throws an exception if a list element can’t be found. MS Suggests using SingleOrDefault instead which will return null if no matching element is found.

Leave a Comment