我有一个名为List(Of List(Of Integer))
的selectedskills
,数据看起来像这样
(0)
(0) 79
(1) 1
(1)
(0) 83
(1) 3
(2)
(0) 113
(1) 4
等等。我如何先确定列表是否包含83然后找到主索引(如果找到)。所以在这种情况下,如果在整个列表中找到83,我想找到索引1。基本上我怎么看如果任何第二级索引0包含83,然后返回主索引
希望有道理。
你可以使用Lambda Expression作为FindIndex
的谓词:
Dim index = selectedskills.FindIndex(Function(innerList) innerList(0) = 83)
如果未找到匹配的条目,则返回-1作为索引。此代码假定selectedskills
的每个元素都有一个至少包含一个元素的内部列表。如果不是这种情况,请添加检查
Dim index = selectedskills.FindIndex(Function(innerList) innerList IsNot Nothing AndAlso _
innerList.Count > 0 AndAlso _
innerList(0) = 83)
如果内部列表总是有2个条目,您也可以使用tuples
Dim selectedskills = New List(Of (Integer, Integer)) From { (79, 1), (83, 3), (113, 4) }
Dim index = selectedskills.FindIndex(Function(element) element.Item1 = 83)