Dictionary - 引用的对象未设置为对象的实例

Ale*_*lex 1 c#

我正试图在字典里面举行一个大厅系统.

private Dictionary<string, Dictionary<string, string>> lobbys;
Run Code Online (Sandbox Code Playgroud)

第一个字符串是Lobby ID,字典中的字典包含大厅中的客户端用户名.

当我尝试在字典中创建一个新的"大厅"时,如下所示:

lobbys.Add("dSd244SfasdD", null);
Run Code Online (Sandbox Code Playgroud)

("dSd244SfasdD"是唯一的大厅ID,null是我尚未创建的空字典(因为它还没有用户))

我收到此错误:"引用的对象未设置为对象的实例."

我不确定我做错了什么,而且我对C#还不熟悉.请帮忙.谢谢 :)

J.T*_*lor 5

您必须首先实例化lobbys Dictionary(包含词典):

lobbys = new Dictionary<string, Dictionary<string, string>>();
Run Code Online (Sandbox Code Playgroud)

然后你可以添加到这个游戏中,当你这样做时,你应该实例化那些内部词典.

lobbys.Add("dsD244SfasD", new Dictionary<string, string>());
Run Code Online (Sandbox Code Playgroud)

然后,当您添加到那些内部词典时:

lobbys["dsD244fasD"].Add("Client1", "Bob Jones");
lobbys["dsD244fasD"].Add("Client2", "Bill James");
Run Code Online (Sandbox Code Playgroud)