对象未使用lambda表达式设置为对象的实例

时间:2011-07-29 00:27:50

标签: linq lambda

我使用lambda表达式where where condition来计算地址集合。 某些addresscollection对象具有空值。由于某种原因,我得到的对象没有设置为对象的实例。当我深入研究异常时,我发现返回类型为{Name =“Boolean”FullName =“System.Boolean”}并返回参数{Boolean}。关于如何处理此异常的任何想法。 这是我正在使用的lambda表达式:

var codes = (addresscollection.Where(n => n.Code.Contains("A") || n.Code.Contains("S") || n.Code.Contains("Q"))).Count()

2 个答案:

答案 0 :(得分:1)

集合为null或其中一个代码为null。

var codes = addresscollection == null ? 0 :
            addresscollection.Count(n => n.Code != null && (
                                         n.Code.Contains("A") ||
                                         n.Code.Contains("S") ||
                                         n.Code.Contains("Q")));

答案 1 :(得分:0)

如果这是抛出异常的行,则addressCollection本身为null,或者它包含null元素,或者其中一个元素在Code属性中包含null。