Я обыскал и на самом деле не нашел четкого ответа о том, когда вы хотите использовать .First
, и когда вы хотите использовать .FirstOrDefault
с LINQ.
-
Когда вы хотите использовать
.First
? Только когда вы хотите поймать исключение, если не возвращены результаты?var result = List.Where(x => x == "foo").First();
-
И когда вы хотите использовать
.FirstOrDefault
? Когда вы всегда хотите тип по умолчанию, если нет результата?var result = List.Where(x => x == "foo").FirstOrDefault();
-
И в этом отношении, как насчет Take?
var result = List.Where(x => x == "foo").Take(1);