3

任何 LINQ 解决方案(最好)将不胜感激。在连接两者时我需要重复的值。

4

1 回答 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 回答