回答
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