C# 字典-引用的对象未设置为对象的实例

C# 字典-引用的对象未设置为对象的实例,c#,C#,我想把大厅系统放在字典里 private Dictionary<string, Dictionary<string, string>> lobbys; (dSd244SfasdD是唯一的大厅ID,null是我尚未创建的空字典(因为其中还没有用户)) 我得到这个错误:“引用的对象未设置为对象的实例。” 我不确定自己做错了什么,而且我对C#还相当陌生。请帮忙。谢谢:)您尚未为变量赋值,因此它的默认值为null。(不要忘记,lobbys的值不是一个对象,而是一个引用)。您可以

我想把大厅系统放在字典里

private Dictionary<string, Dictionary<string, string>> lobbys;
(dSd244SfasdD是唯一的大厅ID,null是我尚未创建的空字典(因为其中还没有用户))

我得到这个错误:“引用的对象未设置为对象的实例。”


我不确定自己做错了什么,而且我对C#还相当陌生。请帮忙。谢谢:)

您尚未为变量赋值,因此它的默认值为null。(不要忘记,
lobbys
的值不是一个对象,而是一个引用)。您可以在构造函数或声明中为其赋值:

private Dictionary<string, Dictionary<string, string>> lobbys
    = new Dictionary<string, Dictionary<string, string>>();
private Dictionary<string, Dictionary<string, string>> lobbys
    = new Dictionary<string, Dictionary<string, string>>();
private Dictionary lobby
=新字典();
(您可能希望同时将其设置为一个
只读
变量-这不会阻止您更改词典的内容,但这意味着该变量将始终引用同一个词典。)

您需要您的词典

lobbys = new  Dictionary<string, Dictionary<string, string>();

lobbys=newdictionary您需要先创建对象的实例,然后再使用它

 private Dictionary<string, Dictionary<string, string>> lobbys = new Dictionary<string, Dictionary<string, string>>();
private Dictionary lobbys=new Dictionary();

必须首先实例化lobbys字典(其中包含字典):

private Dictionary lobby
=新字典();
lobbys = new Dictionary<string, Dictionary<string, string>>();
lobbys.Add("dsD244SfasD", new Dictionary<string, string>());
lobbys["dsD244fasD"].Add("Client1", "Bob Jones");
lobbys["dsD244fasD"].Add("Client2", "Bill James");
private Dictionary<string, Dictionary<string, string>> lobbys
    = new Dictionary<string, Dictionary<string, string>>();