使用linq时的NullReferenceException

本文关键字:NullReferenceException 时的 linq 使用 | 更新日期: 2023-09-27 18:14:10

下面一行代码抛出NullReferenceException错误,当我从接口选中一些复选框时,但是当我选中所有复选框时,异常不会发生。每个选中的复选框都将创建一个对象,并且这些对象存储在同一个类的数组中。

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

数组- someObjects -包含从我想要排序的一些选中的复选框中选择的对象。数组someObjects也与对象具有相同的类型。请问我该如何解决这个问题?谢谢。

使用linq时的NullReferenceException

你的问题不清楚,但听起来someObjects包含一些空引用。

最好把它们过滤掉:

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

或者,只是避免将它们放在数组中以开始。它不是很清楚数组是如何构建的,但它是有用的对你有空引用在那里吗?