【发布时间】:2019-05-09 11:24:08
【问题描述】:
嗨,我怎么能在 c# 中创建这样的数组??: 设置宽度和高度是从文件中加载的
properties["settings"]["width"] = "bbb";
properties["settings"]["height"] = "cccc";
而 dynamic_string_key 是从文件加载的键,我不知道有多少或什么键名和值:)
properties["sets_of_data"][dynamic_string_key]= "lalala";
properties["sets_of_data"][dynamic_string_key]= "lalala";
properties["sets_of_data"][dynamic_string_key]= "lalala";
properties["sets_of_data"][dynamic_string_key]= "lalala";
【问题讨论】:
-
使用
Dictionary<string_FirstOuterKey, Dictionary<string_SecondInnerKey, string>>;但在我看来,最好有一些配置/设置类/对象有两个Dictionary<string, string>,一个用于“设置”块,一个用于“sets_of_data”块。否则,您的代码可能很快就会在两个级别上与所有这些键混淆...... -
FTFY
Dictionary<string, Dictionary<string, string>> -
您的示例看起来不像数组,您的意思是字典/哈希表?
-
是的,但 C# 不是 PHP。如果你想坚持 PHP 的做事方式,请使用 PHP。否则,在 C# 中它是字典...
-
不是“它不喜欢动态字符串键”,而是嵌套字典在你尝试使用时没有初始化。这样做:
properties["a"] = new Dictionary<string, string>(); properties["a"][dynamic_string_key] = "lalala";注意:只初始化一次,否则你会丢失数据。