Back to articles
FirstOrDefault vs SingleOrDefault in C# — The Complete, Practical Guide

FirstOrDefault vs SingleOrDefault in C# — The Complete, Practical Guide

via Dev.toLibin Tom Baby

Working with collections and LINQ is part of everyday life for a .NET developer. Yet one of the most common interview questions — and one of the most misunderstood concepts — is the difference between FirstOrDefault and SingleOrDefault . Both methods return a single element from a sequence, but they behave very differently. Choosing the wrong one can introduce subtle bugs, performance issues, or unexpected exceptions. This guide breaks down the differences with definitions, examples, EF Core scenarios, and when to use each method. What FirstOrDefault Does FirstOrDefault returns: The first matching element Or the default value ( null for reference types) if no element exists It never throws an exception for multiple matches Example var numbers = new List < int > { 1 , 2 , 3 , 4 }; var result = numbers . FirstOrDefault ( n => n > 2 ); // result = 3 If nothing matches var result = numbers . FirstOrDefault ( n => n > 10 ); // result = 0 (default int) Key behavior Returns first match Safe w

Continue reading on Dev.to

Opens in a new tab

Read Full Article
3 views

Related Articles