1
我在ASP.NET VB.NET Web应用程序中有5到10个通用列表。我想写一个方法将它们全部传入,并返回它们都有的共同元素。如何在通用列表中找到匹配值
我正在寻找一些想法如何实现这个最简单和最干净的方式。
我在ASP.NET VB.NET Web应用程序中有5到10个通用列表。我想写一个方法将它们全部传入,并返回它们都有的共同元素。如何在通用列表中找到匹配值
我正在寻找一些想法如何实现这个最简单和最干净的方式。
要查找列表中的配套项目,尝试了这一点:
Module Module1
Sub Main()
Dim l1 As New List(Of Integer)
Dim l2 As New List(Of Integer)
l1.Add(2)
l1.Add(5)
l2.Add(9)
l2.Add(2)
Dim k = l1.Intersect(l2).ToList ' Will have one item, the number 2.
End Sub
End Module
使用Intersect
扩展方法来帮助你。
使用LINQ:
public static IEnumerable<T> IntersectMany(IEnumerable<IEnumerable<T>> lists) {
IEnumerable<T> result;
foreach (IEnumerable<T> list in lists)
result = (result == null ? list : result.Intersect(list));
return lists;
}
你能否澄清一下,你的意思是ASP.Net列表框控件,还是你的意思是对象列表清单一样