Как инициировать объект `HashTable`, который использует именованные параметры? - PullRequest
1 голос
/ 24 января 2011

Мы можем инициировать HashTable объект, используя следующий синтаксис.

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

Я хочу использовать код таким образом:

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

Но это НЕ ДАЕТТ работа.Есть ли у вас обходной путь?

1 Ответ

5 голосов
/ 24 января 2011

Нет, обходного пути нет.Такой синтаксис не может существовать в 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);
...