Я преобразовал приложение форм Windows из .net 3.5 в .net 4. Я использую Linq для работы с данными. Теперь у меня есть некоторые проблемы с Linq, потому что в новой версии он генерирует исключение при попытке сделать запрос по нулевому набору результатов. Например (Resultset имеет тип System.Linq.IQueryable <>):Преобразование окон форм приложений из .NET 3.5 в .NET 4
var orderedResult = from d in resultSet
orderby d.ID descending
select d;
Выдает исключение «Значение не может быть пустым», когда Resultset равно нулю. Он отлично работал в .NET 3.5. Как я могу избежать этих ошибок в .NET 4, делая наименьшее изменение кода? Есть ли какая-либо настройка, которую я могу переключить, так что, когда значение resultSet равно null, ни один запрос не выполняется, не вызывая исключения?
Проблема в том, что у меня есть тысячи утверждений, подобных приведенным выше. Если мне нужно проверить для каждого из них «если resultsSet! = Null», это будет трудное решение. В .NET версии 3.5 запрос по нулевому набору результатов просто возвращал значение null. Могу ли я сделать то же самое для .NET 4?
Да, есть инструкция ** if ** для проверки значения «null» или 'not'. Это очень распространено на всех языках программирования. –
_ «В .NET версии 3.5 запрос по нулевому набору результатов просто возвращал значение null« _ »- это неверно. 'from d in (IQueryable) null select d' на .NET 3.5 также выдает сообщение' ArgumentNullException': «Значение не может быть null». Вы не просто изменили версию рамки с 3.5 до 4, так? –
CodeCaster