为什么这段代码不起作用?
public class A
{
public Dictionary<int, string> dic { get; set; }
}
class Program
{
public static void Main()
{
A a = new A();
a.dic.Add(1, "a");
}
}
错误: System.NullReferenceException 未处理 Message=对象引用未设置为对象的实例。
最佳答案
您尚未初始化该属性,因此 a.dic
的值为 null(任何引用类型的默认值)。
你需要这样的东西:
a.dic = new Dictionary<int, string>();
...或者您可以在构造函数中对其进行初始化。
另一方面,直接访问类的内部工作很少是个好主意——您基本上没有封装。
关于c# - 类属性中的字典有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4110344/