2009-12-02 3 views
3

Есть ли простой способ инициализации словаря, который является свойством вроде .Net 3.5, или мне нужно добавить элементы в конструктор класса?Инициализировать словарь в .Net 2.0

Моя цель - создать статическую карту сопоставления кодов для представления строк.

ответ

4

Да, вы должны инициализировать свой Dictionary в конструкторе класса.

1

Если ваш класс статичен, вы можете сделать это в статическом конструкторе.

static myclass() 
{ 
    //Do stuff here?! 
} 

Если это не так, сделайте это в своем конструкторе экземпляра?

+0

Нет отличного способа как в C3 3.0+? – Shaihi

1

Синтаксис сборника Initializer доступен только для словарей в .NET 3.5 и в дальнейшем.

FTA:

Эта функция (коллекция инициализации) требует C# 3.0 компилятор которым был введен с Visual Studio 2008 и работает только с .NET 3.5 или более поздней версии. Статическая инициализация работает только для массивов в предыдущих версиях.

Однако вы не ограничены добавлением элементов в свой конструктор классов. Вы можете добавить это в любое время, вы просто не можете сделать это, используя инициализацию коллекции.

+0

Я видел это, но хотел посмотреть, есть ли метод, с которым я не знаком. Благодарю. – Shaihi

+1

Требование - это C# 3.0, а не .NET 3.5, поскольку он работает (с компилятором C# 3.0) даже при таргетинге .Net 2.0 – Lucas

Смежные вопросы