任何 LINQ 解决方案(最好)将不胜感激。在连接两者时我需要重复的值。
问问题
810 次
1 回答
1
如果要找出两个列表中都有哪些项目,则需要使用该Enumerable.Intersect()
方法。
var list1 = new List<KeyValuePair<string,string>>();
var list2 = new List<KeyValuePair<string,string>>();
list1.Add(new KeyValuePair<string,string>("key1", "value1"));
list1.Add(new KeyValuePair<string,string>("key2", "value2"));
list2.Add(new KeyValuePair<string,string>("key1", "value1"));
list2.Add(new KeyValuePair<string,string>("key3", "value3"));
var inBothLists = list1.Intersect(list2); // contains only key1,value1
有两种重载,一种是IEqualityComparer<T>
这样,如果默认的没有按照您想要的方式执行比较,您可以编写并提供您自己的。
于 2012-08-02T19:19:40.520 回答