在C#中为2D数组分配1D数组

时间:2016-11-08 04:47:11

标签: c# arrays multidimensional-array

漂亮的noobish问题(如果你不知道,我对C#有点新鲜; P)。具体来说,我正在尝试将整行(1D字符串数组)分配给C#中的2D字符串数组。 C ++中的等价物(如果有帮助)将是

vector< vector<string> > 2dArray;
vector<string> 1dArray({"Aa","Bb","Cc"});
for (int i = 0; i < 2; i++) {
   2dArray.push_back(1dArray);
}

我认为它没有什么区别,但是1维数组实际上是使用我将其视为1-D字符串数组的split函数从控制台读取的行:Console.ReadLine().Split() < / p>

我意识到我可以单独分配元素,但如果存在允许我逐行执行的解决方案,那么我想学习使用那个。

2 个答案:

答案 0 :(得分:0)

您应该在.NET框架中调查Generics。具体为List<T>,其中Tstring。此外,您可以执行Dictionary<>

var list2D = new List<List<string>>();
var list1D = new List<string> { "Aa", "Bb", "Cc"};
for(var i = 0; i< 2; i++) {
    list2D.Add(list1D);
}

答案 1 :(得分:0)

第一个数组可以用一个简单的数组表示:

string[] array1 = { "Aa","Bb","Cc" };

第二种可以用各种generic collections表示,根据您的需要,在这个简单的情况下可以是List。

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

list1.Add(array1);