gpt4 book ai didi

c# - 如何比较两个 Dictionary 以查找是否有任何值已更改?

转载 作者:太空狗 更新时间:2023-10-30 00:21:45 29 4
gpt4 key购买 nike

我有两个字典 personalizePatientChartDictionarypersonalizePatientChartDictionaryOriginal。两者具有相同的键,但值可以不同。我想知道键的值是否有任何差异。我想出了以下功能。有没有更好的方法来做到这一点?我正在使用 .NET 4.0。

void CompareOriginalValues()
{
foreach (KeyValuePair<string, int> Origkvp in personalizePatientChartDictionaryOriginal)
{
foreach (KeyValuePair<string, int> kvp in personalizePatientChartDictionary)
{
if ((Origkvp.Key == kvp.Key) && (Origkvp.Value != kvp.Value))
{
hasDictionaryChanged = true;
break;
}
}
if (hasDictionaryChanged)
{
break;
}
}
}

最佳答案

foreach (var kvp in personalizePatientChartDictionaryOriginal)
{
int value;
if (personalizePatientChartDictionary.TryGetValue(kvp.Key, out value))
{
if (kvp.Value != value)
{
hasDictionaryChanged = true;
break;
}
}
}

请注意,此代码(和您的原始代码)不会检测一个字典中是否存在另一个字典中不存在的键。它仅检查与第一个字典中特定键相关联的值是否与第二个字典中的相同键相关联,但前提是该键确实存在于第二个字典中。

关于c# - 如何比较两个 Dictionary<string,int> 以查找是否有任何值已更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3986580/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com