从两个不同的词典中获取相同的键

时间:2012-11-24 13:19:38

标签: c# linq dictionary

我有两个不同的词典:

Dictionary<int, User> X;
Dictionary<int, User> Y;

我想使用LINQ从它们获取相同键的列表。

2 个答案:

答案 0 :(得分:5)

var sameKeys = X.Keys.Intersect(Y.Keys).ToList();

答案 1 :(得分:0)

我会推荐这样的东西: -

  var dict = new Dictionary<int, HashSet<string>>();
  dict.Add(1, new HashSet<string>() { "first", "second" });

或者你可以试试这个: -

  var items = new List<KeyValuePair<int, String>>();
  items.Add(new KeyValuePair<int, String>(1, "first"));
  items.Add(new KeyValuePair<int, String>(1, "second"));
  var lookup = items.ToLookup(kvp => kvp.Key, kvp => kvp.Value);

  foreach (string x in lookup[1])
  {
     Console.WriteLine(x);
  }