首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用另一个哈希表更新哈希表?

用另一个哈希表更新哈希表?
EN

Stack Overflow用户
提问于 2009-11-30 22:02:22
回答 2查看 5K关注 0票数 6

如何通过一个哈希表更新另一个哈希表的值,

如果第二个哈希表包含新的关键字,则必须将它们添加到第一个哈希表中,否则应更新第一个哈希表的值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-30 22:07:25

代码语言:javascript
复制
foreach (DictionaryEntry item in second)
{
    first[item.Key] = item.Value;
}

如果需要,您可以将其合并到扩展方法中(假设您使用的是.NET 3.5或更高版本)。

代码语言:javascript
复制
Hashtable one = GetHashtableFromSomewhere();
Hashtable two = GetAnotherHashtableFromSomewhere();

one.UpdateWith(two);

// ...

public static class HashtableExtensions
{
    public static void UpdateWith(this Hashtable first, Hashtable second)
    {
        foreach (DictionaryEntry item in second)
        {
            first[item.Key] = item.Value;
        }
    }
}
票数 17
EN

Stack Overflow用户

发布于 2009-11-30 22:07:04

上面的一些代码(基于字典):

代码语言:javascript
复制
        foreach (KeyValuePair<String, String> pair in hashtable2)
        {
            if (hashtable1.ContainsKey(pair.Key))
            {
                hashtable1[pair.Key] = pair.Value;
            }
            else
            {
                hashtable1.Add(pair.Key, pair.Value);
            }
        }

我确信有一个使用LINQ的更优雅的解决方案(不过,我用2.0编写代码;) )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1820017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档