1

我們可以使用下面的語法創建一個HashTable對象。如何初始化一個使用命名參數的HashTable對象?

var listTinhThanh = new System.Collections.Hashtable() 
{ 
    { "key", someObject } 
}; 

我想使用的代碼中的這樣一種方式:

var listTinhThanh = new System.Collections.Hashtable() 
{ 
    { Key:"key", Value:someObject } 
}; 

但不起作用。你有任何解決方法嗎?

+1

1)爲什麼HashTable不是字典? 2)爲什麼你更喜歡第二種語法? – CodesInChaos 2011-01-24 11:06:15

+0

只需要注意一點:爲什麼不使用Dictionary <>而不是Hashtable? – 2011-01-24 11:06:17

回答

5

不,沒有解決方法。由於:,這樣的語法不可能存在於C#中。也是第一個似乎更短,我想知道爲什麼你需要第二個。

這就是說我會建議你使用強類型Dictionary<TKey, TValue>而不是Hashtable。您可以得到最接近的是這樣的:

var listTinhThanh = new[] 
{ 
    new { Key = "key1", Value = someObject1 }, 
    new { Key = "key2", Value = someObject2 }, 
    new { Key = "key3", Value = someObject3 }, 
}.ToDictionary(x => x.Key, x => x.Value); 
相關問題