在C中分配二维数组中的一维数组#
问题描述:
很不错的问题(如果您无法辨别,我对C#有点新鲜感; P)。具体来说,我试图将整行(1D字符串数组)分配给C#中的二维字符串数组。在C++(如果它帮助)相当于将在C中分配二维数组中的一维数组#
vector< vector<string> > 2dArray;
vector<string> 1dArray({"Aa","Bb","Cc"});
for (int i = 0; i < 2; i++) {
2dArray.push_back(1dArray);
}
我不认为这有差别,但一维数组实际上是使用分割功能,我是从控制台读取一行视为一维字符串阵列:Console.ReadLine().Split()
我意识到我可以诉诸分配单独的元素,但如果有一个解决方案让我可以逐行进行,那么我想学习如何使用它一。
答
您应该在.NET框架中调查Generics
。特别是List<T>
其中T
是你的情况下的string
。另外,你可以做一个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);
}
答
第一阵列可以通过一个简单的数组表示:
string[] array1 = { "Aa","Bb","Cc" };
第二个可以用各种generic collections表示,根据您的需求,在这个简单的案例可以是一个List。
List <string[]> list1 = new List<string[]>();
list1.Add(array1);
你想让你的二维数组对每一行都有相同的值吗? –