2016-11-08 150 views
0

很不错的问题(如果您无法辨别,我对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()

我意识到我可以诉诸分配单独的元素,但如果有一个解决方案让我可以逐行进行,那么我想学习如何使用它一。

+0

你想让你的二维数组对每一行都有相同的值吗? –

回答

0

您应该在.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); 
} 
0

第一阵列可以通过一个简单的数组表示:

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

第二个可以用各种generic collections表示,根据您的需求,在这个简单的案例可以是一个List。

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

list1.Add(array1);