vb.net - 在 List(Of List(Of Integer)) 中查找值
问题描述
我有一个看起来像这样的数据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 表达式作为谓词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 个条目,您也可以使用元组
Dim selectedskills = New List(Of (Integer, Integer)) From { (79, 1), (83, 3), (113, 4) }
Dim index = selectedskills.FindIndex(Function(element) element.Item1 = 83)
推荐阅读
- wordpress - 避免在提交时插入重复的自定义字段值?
- ruby-on-rails - Rails Carrierwave - 在特定条件下压缩文件
- php - 从 html 表单插入数据
- php - 显示带有消息的 ajax 步骤
- python - 使用 SikuliX 的游戏机器人无法正常工作
- c++ - 初学者从命令行编译
- angular - 如何在 ionic 2 中一次只激活一个按钮
- xml - fo:leader-pattern 从其父元素的顶部填充?
- angular - 在 Angular 动画上使用变量
- python-3.x - 使用 Scrapy 中的 Beautiful Soup 在整个 html 中搜索特定字符串