gpt4 book ai didi

c# - 用字典实例化

转载 作者:太空宇宙 更新时间:2023-11-03 14:03:51 25 4
gpt4 key购买 nike

我目前正在开发一个项目,该项目创建一个字典,其中包含实例的 int 索引和复杂类型作为值。由于这是一个庞大的学校项目,我不想发布大量代码,因为我有逻辑问题而不是“我需要代码”。我会尽量说清楚,如果有什么我需要更好地解释的,请告诉我。

首先。我的服务器中有一本字典:

private Dictionary<int,List<complexType>> dictName = new  Dictionary<int,List<complexType>>

每次客户端启动时,它都会向字典注册(我创建一个空白的复杂类型来实例化它,然后加载字典):

List<complexType> temp = null;
dictName.Add(id,temp)

然后当我想为特定实例添加到列表时,我会这样做:

complexType myItem = new complexType();
dictName[id].Add(myItem);

当我运行此代码时,当第二个客户端尝试运行时出现错误:

"An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll. Additional information: Exception has been thrown by the target of an invocation.

现在当第二个用户点击时会发生这种情况: dictName.Add(id,temp)从第一部分。

如果我将 temp 的实例化更改为 List<complexType> temp = new List<complexType>();

然后它通过了那个点,但是当它更新客户端时我又遇到了同样的错误。

我目前正在使用这种通过 int 和 string(字典)传递数据的方式它们工作正常,但是当我在字典中添加一个复杂类型的列表时,出现了上述错误。

如果有人有任何建议,我将不胜感激。我希望它与我最初加载的空白列表有关。如果还有其他需要知道的请询问谢谢!

最佳答案

你正在制作一个列表字典。所以你试图添加到一个空列表,这就是给你第一个异常的原因。

其次,我从来没有见过“新私有(private)词典”,这是一个剪切和粘贴的错字吗?

这个有效:

Dictionary<int, List<string>> dictName = new Dictionary<int, List<string>>();
dictName.Add(0, new List<string>());
dictName[0].Add("First");
dictName.Add(1, new List<string>());
dictName[1].Add("Second");

你有一个复杂类型的列表而我有一个字符串列表这一事实应该无关紧要。

关于c# - 用字典实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9969814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com