回答
foreach (DictionaryEntry item in second)
{
first[item.Key] = item.Value;
}
如果需要,您可以将其转换为扩展方法(假设您使用的是.NET 3.5或更新版本)。
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;
}
}
}
这并没有捕获其中一个要求,“如果第二个哈希表包含新密钥,那么它们必须添加到1st”,并且很可能会引发异常 – ParmesanCodice 2009-11-30 14:16:23
@ParmesanCodice:它完全符合*要求*。你为什么不尝试自己看看?从MSDN文档:“您还可以通过设置Hashtable中不存在的键的值来使用Item属性添加新元素...但是,如果指定的键已经存在于Hashtable中,请将Item属性覆盖旧的价值。“ http://msdn.microsoft.com/en-us/library/system.collections.hashtable.item.aspx – LukeH 2009-11-30 14:28:37
@Luke,我的歉意,我没有意识到这种行为。 – ParmesanCodice 2009-11-30 17:50:36
对某些代码(基于词典):
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的代码;))。
- 1. 通过散列表列表迭代
- 2. 通过散列筛选列表
- 3. 是否更改散列内的散列不更新第一个?
- 4. 更新散列
- 5. C#散列表与C++散列表
- 6. 散列表未被新输入更新
- 7. jRuby/Rails通过另一个散列值对散列进行排序
- 8. 通过散列迭代输出一个无序列表
- 9. 哪一个更新散列内的散列最好?
- 10. 如何将一个散列转换为另一个散列?
- 11. 通用lisp散列表
- 12. 构造一个散列表/散列函数
- 13. 散列 - 在散列表中插入一个值
- 14. 在任一个散列或散列
- 15. Netezza通过加入另一个表更新表列
- 16. ruby:使用散列作为另一个散列的默认值?
- 17. Perl:散列中数组的大小,在另一个散列
- 18. Java - 如何遍历散列表列表的散列图
- 19. 更新存储在散列表中的列表
- 20. 展开散列表而不重新散列?
- 21. 散列表同步
- 22. indexFor在散列表?
- 23. 了解散列表
- 24. XML到散列表
- 25. 通过散列值添加散列和排序的阵列
- 26. Python:“散列”嵌套列表
- 27. 从另一个表列值更新列
- 28. 如何创建一个散列表
- 29. 创建您自己的散列表和散列表
- 30. 检查散列表数组是否包含散列表
您是否有任何代码向我们展示,看看我们如何提供帮助?换句话说,你有什么尝试? – 2009-11-30 14:03:51
所以你正在寻找合并两个哈希表? – 2009-11-30 14:04:54
是旧的哈希表最新的。 – shahjapan 2009-12-02 10:06:15