【问题标题】:How can I get a dynamic multidimensional string array in c#?如何在 C# 中获取动态多维字符串数组?
【发布时间】:2015-09-24 23:58:28
【问题描述】:

我正在尝试制作一个动态多维列表。但没有成功。

我想要一个带有动态“值”的“键”。

例如:

我想将此添加到列表中:

Key: "ABC", Value: (10.0f, 10.0f, 20.0f, 90.0f)

Key: "MVG", Value: (35.0f, 35.0f, 50.0f, 0.0f)

Key: "ABC", Value: (200.0f, 500.0f, 70.0f, 0.0f)

等等

看看“ABC”。我不想创建一个新的“ABC”键。值应添加到“ABC”键。

像这样:

“ABC” -> 10.0f, 10.0f, 20.0f, 90.0f -> 200.0f, 500.0f, 70.0f, 0.0f

“MVG”-> 35.0f, 35.0f, 50.0f, 0.0f

我的列表代码如下所示:

List<string[,,] > mainList = new List<string[,,,]>(); 

它不工作。为什么?

【问题讨论】:

  • 这些值似乎是一个浮点数列表。您真的想将它们存储为字符串吗?
  • 我想将键存储为字符串,将值存储为浮点数。我不知道该怎么做。所以我把花车做成了字符串。
  • Dictionary&lt;string, List&lt;List&lt;float&gt;&gt;&gt; 可能:带有字符串键的字典,包含浮点列表的列表

标签: c# string list multidimensional-array


【解决方案1】:

这行不通:

List<string[,,] > mainList = new List<string[,,,]>();

,,,,,

类型不匹配

List<string[, , ,]> xxx = new List<string[, , ,]>();

没问题。

但你实际搜索的是一个锯齿状数组:

List<string[][][]> yyy = new List<string[][][]>();

祝你好运,将尺寸保持在一起......

【讨论】:

  • 好的。没有错误。剩下的怎么办。这不可能吗?
  • 也可以,但是你要求动态多维数组,所以我给出了这个答案。
  • 但是,锯齿状数组不是动态的。我必须给出尺寸。
  • 是和否:您可以在没有维度的情况下定义它,并从例如分配它一个列表:myJaggedArry[i1][i2] = yourList.ToArray()
  • 如果您正在处理大型列表,请注意您还应该使用大小初始化列表,以避免(隐藏)内存分配(每次列表太小时都会进行一些复制工作在幕后发生以创建新列表并传输数据)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多