c# словари пересекаются

У меня есть вопрос о Linq/Lambda и следующая проблема:

У меня есть два словаря, первичный и вторичный... Эти два словаря определены как Key=string, Value =цел. Мне нужно обрезать первичный словарь, если KEYS пересекаются со вторичным словарем.

т. е.:

primaryDict = ["thing1", 33] ["thing2", 24] ["thing3", 21] ["thing4", 17] ["thing5", 12]

secondaryDict = ["thing1", 22] ["thing3", 20] ["thing4", 19] ["thing7", 17] ["thing9", 10]

resultDict = ["thing1", 33] ["thing3", 21] ["thing4", 17]

Моя попытка:

resultDict = primaryDict.Keys.Intersect(secondaryDict.Keys).ToDictionary(t => t.Key, t.Value);

Очевидно, это не работает, потому что primaryDict.Keys.Intersect возвращает список ключей... как мне восстановить новый словарь или спарить основной словарь? Любая помощь будет оценена по достоинству.

14
задан Nikhil Agrawal 21 May 2012 в 12:21
поделиться