2016-11-08 16 views
0

Довольно нубийский вопрос (я немного не знаком с C#, если вы не могли сказать; P). В частности, я пытаюсь назначить целую строку (1D строковый массив) на массив 2D строк в C#. Эквивалент в C++ (если это поможет) будетНазначение 1D-массива в 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 строк: Console.ReadLine().Split()

Я понимаю, что я могу прибегать к назначению элементов по отдельности, но если существует решение, позволяющее мне делать это по строкам, то я хотел бы научиться использовать это один.

+0

Вы хотите, чтобы ваш 2D-массив имел одинаковые значения для каждой строки? –

ответ

0

Вы должны изучить Generics в .NET framework. В частности, 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 <string[]> list1 = new List<string[]>(); 

list1.Add(array1);