gpt4 book ai didi

c# - 在 C# 中初始化嵌套字典

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

我需要知道如何访问和初始化一系列包含其他词典的词典。例如,如果我有

class Conv{
Dictionary<int, Dictionary<int, Dictionary<int, List<double>>>> valori;
}

我想用随机数初始化参数“valori”,我该怎么做?我会这样做

valori[n1].Values[n2].Values[n3]

但是在第一个“值”之后,MVS 给我一个错误。也许我必须先分配内存?我学了一点 c++,但我对 c# 还是个新手如果我忘记了问题中的重要内容,也请告诉我

最佳答案

在使用它们之前,您需要为每个键创建子字典

var list = new List<double> {d};
var d1 = new Dictionary<int, List<double>> {{n3, list }};
var d2 = new Dictionary<int, Dictionary<int, List<double>>> {{n2, d1}};
valori[n1] = d2;

你也可以把这个简短的写成一行:

valori[n1] = new Dictionary<int, Dictionary<int, List<double>>> {{n2, new Dictionary<int, List<double>> {{n3, new List<double> {d}}}}};

当所有词典实际创建后,您可以正常访问它们:

 var savedList = valori[n1][n2][n3];

由于这种语法非常笨拙并且很容易出错(如果存在子词典则丢失,覆盖数据等),我强烈建议更改数据结构或至少将其隐藏在专用类中

关于c# - 在 C# 中初始化嵌套字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57535551/

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