我正在尝试使用多维数组字符串数组。 我可以轻松创建它:
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位)?
字符串[,]是手动设置项目的一个非常好的解决方案,但是如果您有需要添加到数组的外部数据,我在其他帖子上找不到任何示例。
有人可以帮忙吗? 感谢。
此致
答案 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();