如何初始化一个使用命名参数的`HashTable`对象?

Nam*_* VU 1 c# initialization hashtable named-parameters visual-studio-2010

我们可以HashTable使用以下语法初始化对象.

var listTinhThanh = new System.Collections.Hashtable()
{ 
    { "key", someObject }
};
Run Code Online (Sandbox Code Playgroud)

我想以这样一种方式使用代码:

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

但这不起作用.你有办公室吗?

Dar*_*rov 5

不,没有解决方法.这样的语法不可能存在于C#中,因为:.第一个对我来说似乎更短,我想知道为什么你需要第二个.

这就是说我建议你使用强类型Dictionary<TKey, TValue>而不是a 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);
Run Code Online (Sandbox Code Playgroud)