Vb.net 如何在arraylist中查找值?
我有一个名为arrdirectory的arraylist。当查询到数据库时,此arraylist包含一个结构Vb.net 如何在arraylist中查找值?,vb.net,arraylist,Vb.net,Arraylist,我有一个名为arrdirectory的arraylist。当查询到数据库时,此arraylist包含一个结构 arrDirectory = New ArrayList While rdr.Read With udt_mydir If Not IsDBNull("dirno") Then .strdirno = (rdr("dirno")) Else .strdirno = "N/A" End
arrDirectory = New ArrayList
While rdr.Read
With udt_mydir
If Not IsDBNull("dirno") Then
.strdirno = (rdr("dirno"))
Else
.strdirno = "N/A"
End If
If Not IsDBNull("dirname") Then
.strdirname = (rdr("dirname"))
Else
.strdirname = "N/A"
End If
If Not IsDBNull(rdr("dir_image")) Then
.arrImg = rdr("dir_image")
Else
.arrImg = Nothing
End If
If Not IsDBNull(rdr("dir_logo")) Then
.arrLogo = rdr("dir_logo")
Else
.arrLogo = Nothing
End If
End With
arrDirectory.Add(udt_mydir)
End While
我如何从数组列表中找到
my string
等于udt\u mydir.strdirname
的字符串,这样我就可以得到整个数据strdirno
,arrImg
和arrLogo
?为什么要使用arraylist
?使用它的通用对应项列表
,这样就不需要装箱/取消装箱来访问它的项目
无论如何,假设您在.NET3.5上,使用LINQ的Where()
、Single()
或SingleOrDefault()
在IEnumerable
中查找元素是非常简单的
我不想费心去弄清楚VB的语法是什么,但下面是它在C#中的外观,假设你真的想继续使用那个可怕的ArrayList:
var x = arrDirectory.Cast<YourType>().SingleOrDefault(item => item.strdirname == "my string");
var x=arrDirectory.Cast();
我在开发此应用程序的一开始就已经使用了它。我仍然尝试在我的测试部分使用List,以了解更多关于List的信息,以及如何使用它的方法和属性。这个名单对我来说很陌生。我会努力的,谢谢你