這聽起來像Hashtable可能不是您的問題的理想數據結構。
散列表/字典中的鍵必須是唯一的,所以不能,在技術上不能將兩個條目存儲在共享完全相同鍵的散列表中。
此外,您應該使用Dictionary<TKey, TValue)
而不是實際的Hashtable類型,因爲它具有更好的性能特徵。
您可以模擬你想要做的東西像創建一個字典,它的值是什麼一組某種:
// Map containing two sets of IP addresses: those that are ready,
// and those that are not ready.
var readyMap = new Dictionary<bool, HashSet<string>>();
readyMap[true] = new HashSet<string>();
readyMap[false] = new HashSet<string>();
// Add an IP address that is ready.
readyMap[true].Add(ipAddress1);
// Add an IP address that is not ready.
readyMap[false].Add(ipAddress2);
然而,這可能不是理想的解決方案。你試圖解決的實際問題是什麼?
儘管爲區分雙重狀態值(就緒/未就緒),字典實際上看起來過度殺傷。 – 2010-10-15 22:13:03
由於他談到了組合框而不是複選框,我不確定是否有兩個以上的狀態。如果只有兩個狀態,那麼使用兩個HashSet(每個狀態一個)肯定會是首選。 – CodesInChaos 2010-10-15 22:15:21
是的,只有2個州。我基本上有3個值爲每個用戶(IP地址,用戶名,就緒/未就緒狀態)。有沒有辦法顯示哈希表的值字段而不是鍵? – 2010-10-15 23:01:46