Я обыскал и на самом деле не нашел четкого ответа о том, когда вы хотите использовать .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);

