Linq:不在对象集合中

时间:2009-03-13 18:06:00

标签: vb.net linq

Dim goodCustObjList As New List(Of CustomerObj)
goodCustObjList = DataBLLModule.GetCustomerRecordList(String.Empty)
Dim custList = From t In goodCustObjList _ 
               Where t.ID.ToString() IsNot Guid.Empty.ToString() _
               Select t

我有一个CustomerObj列表,如果ID(GUID)不为空,那么我想选择该对象。我做了类似的查询,但条件是在另一个对象的属性(整数)匹配,如果它是1或2然后选择它。

有人能指出我在上面的linq声明中做错了什么吗?如果你要在linq中测试一个条件。是不是IsNot是测试这种情况的正确陈述?

杰克

1 个答案:

答案 0 :(得分:2)

VB中的“IsNot”意味着测试两个对象引用是否指向不同的对象。我不确定为什么你会为这个特定的语法得到这个。你能发布CustomerObj的定义吗?

你真正想要做的是直接比较.ID属性。

Where t.Id <> Guid.Empty

这是比较GUID值的最可靠方法。比较它们的String值要慢得多,如果你不小心做了区分大小写的比较,就可以抛弃它。