gpt4 book ai didi

c# - 在 C# 中创建三级嵌套字典

转载 作者:太空狗 更新时间:2023-10-29 22:52:52 30 4
gpt4 key购买 nike

我想创建以下类型的字典,

var data = new Dictionary<string, Dictionary<string, Dictionary<string, int>>>();

当我尝试通过以下方式向字典添加值时,出现 KeyNotFound 异常。

data[key1][key2][key3]= 3;

我在这里做错了什么?我假设如果在字典中找不到键,它会自动添加到字典中。

否则有没有办法在运行时添加 key ?

我期望以下类型的输出:

 [male,[animal,[legs,4]

[eyes,2]]
[human,[hands,2]
[ears,2]]

[female,[animal,[nose,1]

[eyes,2]]
[bird,[wings,2]
[legs,2]]

最佳答案

这里的问题是你只是试图分配给最里面的字典。但是外层的两个层次是不存在的。

您需要明确每个级别:

if (!data.ContainsKey(key1))
data[key1] = new Dictionary<string, Dictionary<string, int>();

...等等。编写起来可能有点麻烦,所以如果您经常需要它,我建议您在字典上创建一个扩展方法,让您轻松地做到这一点。

如果您分配给字典中的键,则会创建该条目。但是,如果您读取字典中的某个键,而该键不存在,则会出现异常。

关于c# - 在 C# 中创建三级嵌套字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13334677/

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