我有一个名为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 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_mydir.strdirname
的arraylist中找到,以便我可以获得整个数据strdirno
,arrImg
和arrLogo
?< / p>
答案 0 :(得分:0)
为什么要使用ArrayList
开头?使用其通用版本List<>
,这样您就不需要装箱/取消装箱来访问其商品。
无论如何,假设您使用的是.NET 3.5,使用LINQ的IEnumerable
,Where()
或Single()
来查找SingleOrDefault()
中的元素非常简单。
我不会费心去弄清楚VB的语法是什么,但是这里是C#的外观,假设你真的想坚持那个可怕的ArrayList:
var x = arrDirectory.Cast<YourType>().SingleOrDefault(item => item.strdirname == "my string");