У меня есть вопрос о 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 возвращает список ключей... как мне восстановить новый словарь или спарить основной словарь? Любая помощь будет оценена по достоинству.