Альтернатива библиотеке из C++ - C#

Узнай цену своей работы

Формулировка задачи:

в с++ я использовал библиотеку <vector> для создания динамических многомерных массивов. Например такого
vector<vector<string>> str; //двумерный массив
vector<string> s; //одномерный массив, из него будем складывать двумерный
 
s.push_back("1st");
s.push_back("2nd");
str.push_back(s);
s.clear();
s.push_back("3rd");
s.push_back("4th");
str.push_back(s);
s.clear();
Таким образом s[0] содержит 2 элемента ("1st", "2nd"), s[1] содержит 2 других элемента ("3rd", "4th"). По аналогии пытался поступить с List:
            List<List<string>> arr = new List<List<string>>();
            List<string> str = new List<string>();
            str.Add("1");
            str.Add("2");
            str.Add("3");
            str.Add("4");
            arr.Add(str);
            str.Clear();
            str.Add("one");
            str.Add("two");
            str.Add("three");
            str.Add("four");
            arr.Add(str);
Но в результате получаю массив str[0] равный str[1] равный {"one", "two", "three", "four"}. Что я делаю не правильно? И если List на такое не способен, то какие есть аналогии вектору в C# для данного случая?

Решение задачи: «Альтернатива библиотеке из C++»

textual
Листинг программы
            List<List<string>> arr = new List<List<string>>();
            List<string> str = new List<string>();
            str.Add("1");
            str.Add("2");
            str.Add("3");
            str.Add("4");
            arr.Add(str);
            str = new List<String>();
            str.Add("one");
            str.Add("two");
            str.Add("three");
            str.Add("four");
            arr.Add(str);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5