NullReferenceException при использовании linq - PullRequest
0 голосов
/ 12 ноября 2011

Следующая строка кода выдает ошибку NullReferenceException Когда я проверяю некоторые флажки из интерфейса, но когда я проверяю все флажки, исключение не происходит.Каждый установленный флажок будет вызывать создание объекта, а объекты хранятся в массиве того же класса.

someObjects.OrderByDescending(obj => obj.numericProperty);

Массив - someObjects - содержит некоторые выбранные объекты из некоторых отмеченных флажков, которые я хочу отсортировать.Массив someObjects также имеет тот же тип, что и объекты.Пожалуйста, как мне это исправить?Спасибо.

1 Ответ

9 голосов
/ 12 ноября 2011

Ваш вопрос неясен, но похоже, что someObjects содержит некоторые нулевые ссылки.

Вероятно, лучше всего просто отфильтровать их:

var query = someObjects.Where(obj => obj != null)
                       .OrderByDescending(obj => obj.numericProperty);

Или, в качестве альтернативы, просто избегайтеих в массиве для начала.Не совсем понятно, как создается массив, но полезно ли вам иметь нулевые ссылки?

...