Sobes.tech
Junior — Middle

What is the difference between the First and FirstOrDefault methods in LINQ when retrieving elements from a collection?

sobes.tech AI

Answer from AI

In LINQ, the methods First and FirstOrDefault are used to get the first element from a collection, but they differ in behavior when no matching elements are found:

  • First() returns the first element that satisfies the condition. If no such elements exist, it throws an InvalidOperationException.

  • FirstOrDefault() also returns the first matching element, but if no elements are found, it returns the default value for the type (e.g., null for reference types, 0 for numeric types).

Example:

var numbers = new List<int> { 1, 2, 3 };

int first = numbers.First(n => n > 3); // will throw an exception
int firstOrDefault = numbers.FirstOrDefault(n => n > 3); // will return 0

Use FirstOrDefault if you want to avoid exceptions when no elements are present.

What is the difference between the First and… - sobes.tech