Any and First(OrDefault) - best practice C# with Example



Any and First(OrDefault) - best practice C# with Example

I won't explain what Any and FirstOrDefault does because there are already two good example about them. See 
Any and First, FirstOrDefault, Last, LastOrDefault, Single, and SingleOrDefault for more information. 
A pattern I often see in code which should be avoided is 
if (myEnumerable.Any(t=>t.Foo == "Bob")) 
{ 
var myFoo = myEnumerable.First(t=>t.Foo == "Bob"); 
//Do stuff 
} 
It could be written more efficiently like this 
var myFoo = myEnumerable.FirstOrDefault(t=>t.Foo == "Bob"); 
if (myFoo != null) 
{ 
//Do stuff 
} 
By using the second example, the collection is searched only once and give the same result as the first one. The 
same idea can be applied to Single. 

0 Comment's

Comment Form

Submit Comment