c#将新项添加到现有字符串[,] Array

时间:2017-05-18 21:42:19

标签: c# multidimensional-array

我正在尝试使用多维数组字符串数组。 我可以轻松创建它:

string[,] array = new string[,]
{
 {"AA", "AB"},
 {"AC", "AD"},
};

这里没问题。

想法是在之后添加更多项目。 假设我的数组可以扩展为许多“行”,但只有两个“列”。

我试过这样做:

array[0,0] = "AE";
array[0,1] = "AF";

但这似乎不起作用。为什么呢?

还有什么方法可以添加(连接/连接?),例如一气呵成:

new string[,] { {"AE", "AF"} }

array[i,???] = {"AE", "AF"}

其中我可以变量(例如到最后一个位置)并且不必定义列(基于数组中定义的2列)

这可以将新项目添加到现有数组中(第3位)?

字符串[,]是手动设置项目的一个非常好的解决方案,但是如果您有需要添加到数组的外部数据,我在其他帖子上找不到任何示例。

有人可以帮忙吗? 感谢。

此致

1 个答案:

答案 0 :(得分:0)

您需要一个可以增长(和缩小)的数据结构

尝试: -

var array = new List<string[]> {new[] {"AE", "AF"}, new []{"A", "B"}};

然后

array.Add(new []{"XY", "AB"});

您可以像以下一样访问它: -

Console.WriteLine(array[0][0]);
array[0][0] = "BB";
Console.WriteLine(array[0][0]);

如果您喜欢数组初始化语法,可以先将其转换为如下列表: -

var initial = new[,] {{"H", "I"}, {"R", "V"}};

var array = Enumerable.Range(0, initial.GetUpperBound(0) + 1)
    .Select(n => new[] {initial[n, 0], initial[n, 1]}).ToList();