繁体   English   中英

比较两个键值字典C#

[英]Comparing two Key Value Dictionaries C#

我有两本词典

1有字典A(期望值)和字典B.

它们都是字典,我希望能够说,如果B.Keys包含来自A的键,则比较这两个值并返回true或false。

我怎么写这样的东西:

if (B.ContainsKey(A.Keys))
        {

        }

关键值示例:

Dictionary<Key, Value> B = {name, "valueb"; last, "smith"}
Dictionary<Key, Value> A = {name, "valuea"; last, "smith"; middle, "m"}

if (name == name) 
{
 if("valueb" == "valuea" )
{
 return false;
}
}

扫描一个字典并在第二个查找并比较如下:

var a = new Dictionary<TK,TV>();
var b = new Dictionary<TK,TV>();

var isEquals = a.All(x =>
{
    TV v;
    if (b.TryGetValue(x.Key, out v))
       return x.Value.Equals(v);

    return false;
});

UPD

isEquals = true;
foreach(x in a)
{
    TV v;
    if (b.TryGetValue(x.Key, out v))
       isEquals = isEquals && x.Value.Equals(v);
    else
    {
       isEquals = false;
       break;
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM