在Dictionary中使用类型'null'而不是int

时间:2016-01-23 23:06:26

标签: c# visual-studio dictionary

我需要声明一个包含100个键和值的字典(Key是一个字符串,值是一个整数)。每个键都是一个网格参考:A1,B6等。我知道一些网格的确定值。我想通过将int值设置为null来为程序开头的每个值添加一个键和一个值,但它不允许这样做。我该怎么办?

2 个答案:

答案 0 :(得分:4)

添加'?'在int之后使它成为可空类型

Dictionary<string, int?> myDictionary = new Dictionary<string, int?>();

答案 1 :(得分:4)

null不是类型,它是一个值(用于引用),可以为每个引用类型赋值。

因此,如果我正确阅读了您的帖子,您就有了这个:

 Dictionary< String, Int32 > // or Dictionary<string,int>

将其更改为Int32?Nullable<Int32>的语法 - 糖)。您还可以使用{ { key, value } }语法初始化字典,而不是重复调用.Add( key, value ),如下例所示:

Dictionary< String, Int32? > dict = new Dictionary< String, Int32? > {
     { "A1", null },
     { "A2", null },
     { "A3", null },
     { "A4",   16 },
     { "A5",  123 },
     // etc
};