将字符串数组分配给二维字符串数组

Posted

技术标签:

【中文标题】将字符串数组分配给二维字符串数组【英文标题】:Assign string array to two dimensional string array 【发布时间】:2021-12-07 15:47:46 【问题描述】:

我有点困惑。我尝试。但是得到“错误的索引数量”错误。 我理解错误,但是不能将数组分配给第二维数组字段吗?

由于sortedStringx 的字段数,每个字段都是一个字符串数组,难道不能将字符串数组分配给一个索引字段吗? (因为s.Split(';') 已经创建了一个数组)

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

【问题讨论】:

您可以使用锯齿状数组:string[][] sortedString = new string[count][]; 【参考方案1】:

您将多维数组与锯齿状数组混淆了。 sortedStringstring 类型的二维数组,因此您必须始终提供正确数量的索引 - 在这种情况下,2。您不能说 sortedString[x],只能说 sortedString[x, y]

您可能正在考虑锯齿状数组 - 即一维数组,其中每个元素本身就是一个(通常是一维)数组。像这样声明sortedString

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

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

【讨论】:

感谢您的帮助。我来自 Java,我不确定我是否曾经正确使用过多维数组。 string[][] sortedString = new string[count][];这工作得很好。谢谢!必须阅读更多相关信息,听起来很有趣。【参考方案2】:

C# 有两种二维数组。如果您需要一次访问一个维度作为它自己的数组,则必须使用“锯齿状”变体,如下所示:

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

或者,甚至更好:

var sortedString = new List<string[]>;

【讨论】:

感谢您的帮助。我来自 Java,我不确定我是否曾经正确使用过多维数组。 string[][] sortedString = new string[count][];这工作得很好。谢谢!必须阅读更多相关信息,听起来很有趣。

以上是关于将字符串数组分配给二维字符串数组的主要内容,如果未能解决你的问题,请参考以下文章

C#将char和char数组分配给字符串?

将数组分配给 html 数据

Angular 4:如何将字符串数组分配给反应形式的复选框

如何将二维数组分配给**指针? [复制]

将递归函数分配给python中的变量

如何将 PHP 数组分配给 jQuery 数组? [复制]