您好我有两个下一个字典:
SortedDictionary<string, ClusterPatternCommonMetadata> PatternMetaData { get; set; }
ClusterPatternCommonMetadata对象如下所示:
int ChunkQuantity { get; set; }
SortedDictionary<int, int> ChunkOccurrences { get; set; }
首先,我需要找到两个词典中存在的PatternMetaData键的方法。我找到了这个方式:
List<string> commonKeysString=
vector.PatternMetaData.Keys.Intersect(currentFindingVector.PatternMetaData.Keys)
然后我需要找到已创建密钥的常用值...
是否有快速方式(lambda,linq等)才能进行此类操作
由于
答案 0 :(得分:11)
这叫做十字路口。
您可以使用
获取密钥var data = dictionary1.Keys.Intersect(dictionary2.Keys)
如果要查找两个字典中包含的相等键和值,则只需
var equalDictionarys = dictionary1.Intersect(dictionary2);
答案 1 :(得分:1)
您还可以获取具有共同键的整个词典项目:
var commonDictionaryItems = Dic1.Where(d => Dic2.ContainsKey(d.Key)).ToList();