将字符串数组赋值给二维字符串数组



我有点糊涂了。我尝试将一个字符串数组赋值给一个二维字符串数组。但是得到了"错误的指数"。错误。我理解的错误,但它不应该分配一个数组到第二次元数组字段吗?

作为sortedStringx个字段与每个字符串数组,它不应该分配一个字符串数组只是一个索引字段吗?(因为s.Split(';')已经创建了一个数组)

string[,] sortedString = new string[count,columns];
sortedString[counter] = s.Split(';');

您混淆了多维数组和锯齿数组。sortedStringstring类型的二维数组,因此您必须始终提供正确的索引数—在本例中为2。你不能说sortedString[x],只能说sortedString[x, y]

你可能想到的是一个锯齿数组——即,一个单维数组,其中每个元素本身是一个(通常是单维)数组。像这样声明sortedString:

string[][] sortedString = new string[count][];

这将允许每个"inner"数组必须具有不同的长度(取决于每个s中有多少个;),这可能不是您想要的。

c#有两种2D数组。如果你需要一次访问一个维度作为它自己的数组,你必须使用"jagged"变化,像这样:

string[][] sortedString = new string[count][];
for(int i = 0; i<sortedString.Length;i++)
sortedString[i] = new string[columns];

或者更好:

var sortedString = new List<string[]>;

相关内容

  • 没有找到相关文章

最新更新