gpt4 book ai didi

c# - 在 Unity3D 中写入嵌套字典

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

我不能直接将值写入我的嵌套字典吗?

如果我能像这样访问它就好了:

public Dictionary<string, Dictionary<string, Dictionary<string, int>>> planets = 
new Dictionary<string, Dictionary<string, Dictionary<string, int>>>();

planets[Planet.CharacterId]["MetalMine"]["Level"] = 0;

但是我得到:

KeyNotFoundException: The given key was not present in the dictionary.

这是否意味着我必须一个接一个地插入我的 Keys

最佳答案

Does this mean I got to insert my Keys after each other?

是的,您需要按顺序初始化每个:

planets[Planet.CharacterId] = new Dictionary<string, Dictionary<string, int>>();
planets[Planet.CharacterId]["MetalMine"] = new Dictionary<string, int>();
planets[Planet.CharacterId]["MetalMine"]["Level"] = 0;

您可以在此处使用集合初始化器语法,但这不会使内容更具可读性和可维护性。

你似乎最好使用一个类而不是字典的字典:

public class Planet
{
public List<Mine> Mines { get; set; }
}

public class Mine
{
public string Type { get; set; }
public int Level { get; set; }
}

var planets = new Dictionary<string, Planet>();

planets[Planet.CharacterId] = new Planet
{
Mines = new List<Mine>
{
new Mine
{
Type = "Metal",
Level = 0
}
};
}

关于c# - 在 Unity3D 中写入嵌套字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52114506/

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