Cod*_*les 1 vb.net foreach list
我在以下位置提到了以下问题:Using foreach loop to iterate through two lists。关于选择的答案,我的问题是: o.DoSomething 可以比较吗?如:
For Each a in ListA.Concat(ListB)
If(a from ListA=a from ListB) Then
Do Something here
End If
Next
Run Code Online (Sandbox Code Playgroud)
正如您可能已经猜到的那样,我正在使用 VB.Net 并且想知道如何完成我在此处展示的内容。这基本上是单独/独立地遍历连接列表。谢谢!
您的问题表明您需要一个Join操作,因为这不是您想遍历两个列表,而是您还想将一个列表中的类似项目匹配到另一个列表。
Dim joinedLists = From item1 In list1 _
Join item2 In list2 _
On item1.Bar Equals item2.Bar _
Select New With {item1, item2}
For Each pair In joinedLists
'Do work on combined item here'
'pair.item1'
'pair.item2'
Next
Run Code Online (Sandbox Code Playgroud)
其他答案推荐Zip。这只是一个函数,它接受两个序列并产生一个结果,很像 join,但它适合在两个列表的 FIFO 方法中工作。如果您需要基于平等建立联系,这Join是专为这项工作而打造的正确工具。