繁体   English   中英

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

[英]Assigning a 1D array in a 2D array in C#

相当笨拙的问题(如果您不知道; P,我对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" };

第二个可以用各种通用集合表示 ,具体取决于您的需求,在这种简单情况下可以是一个List。

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

list1.Add(array1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM