... Я немного смущен или не уверен, как справляться с ошибками, возникающими из операторов LINQ. Мне просто нравится иметь возможность вытаскивать один или несколько элементов из коллекции, основываясь на некоторых критериях... с одной строкой кода. Это довольно удивительно.
Но где я разорван с обработкой ошибок или проверкой граничных условий. Если я хочу получить элемент, используя First(), и ни один элемент не удовлетворяет моему запросу, генерируется исключение. Это немного облом, потому что теперь я должен обернуть каждую инструкцию LINQ отдельным блоком try/catch. Для меня код начинает выглядеть немного беспорядочным со всем этим, тем более, что мне приходится объявлять переменные за пределами блока try/catch, поэтому я могу использовать их (нулевые) значения позже (которые были установлены в null в блок catch).
Кто-нибудь здесь понимает мое затруднительное положение? Если мне придется обернуть каждую инструкцию LINQ в блоках try/catch, я буду, потому что это все еще намного лучше, чем писать всевозможные циклы для выполнения того же самого. Но должен быть лучший способ, не так ли?:) Я бы хотел услышать, что здесь делают все остальные в этой ситуации.
** ОБНОВЛЕНИЕ **
Спасибо за ответы, ребята, они очень помогли. Еще одна вещь, которую я также собирался воспитывать по "односторонности" LINQ, заключается в том, что если я хочу получить некоторое .some_value.some_value.some_other_value, если я приму подход, когда я должен проверить Nullable, Сначала я должен сделать это из самого базового запроса LINQ, затем я могу запросить свойство результата, которое я ищу. Думаю, там не обойтись без этого?