close

Dictionary 是 .NET 上很常用到的類別,但它有個缺點,就是索引值不存在卻用該索引值去取值,就會發生 Exception 。所以在使用上,都會呼叫 ContainsKey 確認索引值是否存在,但也造成了一些不便。假如在索引值的型別上,確定是使用字串,那 HybridDictionary 會是一個不錯的選擇。

在 MSDN 上有一段敘述:

它利用具有小集合的 ListDictionary 之增強效能,並提供彈性來切換至處理較大集合較 ListDictionary 更好的 Hashtable

除了這個優點,個人認為比起 Dictionary 要額外判斷索引值的存在, HybridDictionary 在這方面做得比較好,以下是程式碼範例。

            HybridDictionary dic = new HybridDictionary();
            string strKey1 = "Key1";
            string strKey2 = "Key2";
            Console.WriteLine(string.Format("使用不存在的Key:{0}", dic[strKey1]));
            dic[strKey2] = "value1";
            Console.WriteLine(string.Format("使用已存在的Key:{0}", dic[strKey2]));

 

執行結果

2012-06-14_222017

 

參考資料

HybridDictionary 類別

arrow
arrow
    全站熱搜

    卑微研究生 發表在 痞客邦 留言(0) 人氣()