Linq过滤器 - 过滤器期望结果后应该没有任何结果

时间:2015-07-28 05:54:25

标签: vb.net linq

请检查以下代码,我的问题与以下示例有关。

Dim objPOSMaxDiscountTemplateDetailList As POSMaxDiscountTemplateDetailList
objPOSMaxDiscountTemplateDetailList = _
     POSMaxDiscountTemplateDetailList.GetPOSMaxDiscountTemplateDetailList(UserDiscountPolicyTemplateCode)

'Filtering Above List
Dim Data = (From p In objPOSMaxDiscountTemplateDetailList _
                    Where p.ItemTypeCode = ItemTypeCode)

If Data IsNot Nothing Then
   '' Do Something
End If

在上面的示例中,objPOSMaxDiscountTemplateDetailList对象获得了14条记录。之后使用ItemTypeCode条件过滤那些记录,并且没有与ItemTypeCode匹配的记录。所以我期待Data对象什么都不会。但是在调试时我发现Data对象并不是什么,而data.count正在变为0。

我不明白这种行为,因为同样的编码类型我根据我的期望做了一些完美运行的其他类。

感谢。

1 个答案:

答案 0 :(得分:0)

不会是Nothing。这将是一个空的集合。 LINQ to Objects查询几乎永远不会返回Nothing

尝试

If Not Data.Any() Then
   '' Do Something
End If