2015-03-15 3 views
0

Я бы хотел создать словарь только с ключами. Например:Инициализировать словарь без значений в C#

Dictionary <string, double> SmplDict= new Dictionary<string, double>(); 
SmplDict.Add("KeyOne"); 
SmplDict.Add("KeyTwo"); 

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

SmpDict.Add("KeyOne", null) 

но это не сработало.

ответ

2

Вы не можете поставить null значение, где, как ожидается, double значение, так как она не является ссылкой типа, а значение типа:

Dictionary <string, double> 

Вместо этого поместите 0:

SmpDict.Add("KeyOne", 0) 

С другой стороны, если вы хотите сохранить положительный результат null s, отметьте double значение:

Dictionary <string, double?> 
2

Если вы хотите, чтобы ваши ценности, чтобы быть нулевой затем выбрать тип, который может быть обнуляемым для Value .such, как double?, object и т.д ...

2

Вы должны сделать это обнуляемым, если вы хотите поставить null:

Dictionary <string, double?> SmplDict= new Dictionary<string, double?>(); 

Теперь вы можете добавить null в качестве значения:

SmpDict.Add("KeyOne", null) 
1

Хотя двойной не может быть пустым существует постоянная Не-а-номер:

Dictionary <string, double?> SmplDict= new Dictionary<string, Double.NaN>(); 

, для которого вы можете проверить ..

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