如何查找我的数据是否在项目列表中

时间:2011-03-20 07:31:21

标签: vb.net search foreach contains loops

在vb.net中 我正在myList as List(of myClass)myData as myClass

那么如何判断 myList 是否包含 myData

目前我这样做:

dim myList as List(of myClass) = myClasses.GetData()
dim myData as myClass = myClasses.getData(1)

for each Item as myClass in myList
   if Item.uin = myData.uin then
       msgbox 'yeah'
   end if
next

什么可以成为下一个更好的解决方案?

1 个答案:

答案 0 :(得分:3)

List应该有一个Contains()方法,可以做你想要的。

如果您想要偏移,请使用indexOf()。

编辑:如果由于某种原因你的列表不包含相同的对象,你必须比较它们的“uin”字段是否相等,最简单的方法是使用LINQ:

myList.Any(Function(item) item.uin = myData.uin)

否则,泛型List有一个带有谓词的Exists()方法:

myList.Exists(Function(item) item.uin = myData.uin)

抱歉,我的VB.NET不太流利(C#person我自己),所以如果我在那里发了任何拼写错误,请告诉我。