我想用密钥创建字典。例如:
Dictionary <string, double> SmplDict= new Dictionary<string, double>();
SmplDict.Add("KeyOne");
SmplDict.Add("KeyTwo");
当然,我可以使用一些预定义值进行初始化,但是这些值将被覆盖,所以我只想要现在声明的键。 我试过了
SmpDict.Add("KeyOne", null)
但它不起作用。
答案 0 :(得分:2)
您不能将null
值放在预期double
值的位置,因为它不是引用类型而是值类型:
Dictionary <string, double>
相反,放0
:
SmpDict.Add("KeyOne", 0)
另一方面,如果您想保留null
,请将double
值标记为可为空:
Dictionary <string, double?>
答案 1 :(得分:2)
如果您希望您的值 null ,请选择可以为Value
设置为可为空的类型。例如double?
,object
等。
答案 2 :(得分:2)
如果你想放null
:
Dictionary <string, double?> SmplDict= new Dictionary<string, double?>();
现在您可以添加null
作为值:
SmpDict.Add("KeyOne", null)
答案 3 :(得分:1)
虽然double不能为null,但有一个Not-a-Number常量:
Dictionary <string, double?> SmplDict= new Dictionary<string, Double.NaN>();
您可以查看..
答案 4 :(得分:1)
Dictionary<string, double?> smplDict = new();
smplDict.Add("KeyOne", default);
smplDict.Add("KeyTwo", default);
我想提一下,这可能是您做错了什么,这是您的需要。也许您可以使用其他更合适的集合,例如:HashSet<T>
。