我有点困惑。我尝试将字符串数组赋给二维字符串数组。但是得到“错误的索引数”错误。我理解这个错误,但是不能将一个数组赋给第二维的数组字段吗?
由于sortedString有x个字段,每个字段都有一个字符串数组,那么不能只将字符串数组分配给一个索引字段吗?(因为s.Split(';')已经创建了一个数组)
string[,] sortedString = new string[count,columns];
sortedString[counter] = s.Split(';');发布于 2021-10-20 20:23:17
您混淆了多维数组和锯齿数组。sortedString是一个string类型的二维数组,因此您必须始终提供正确的索引数-在本例中为2。您不能说sortedString[x],只能说sortedString[x, y]。
您可能正在考虑交错数组-即一维数组,其中每个元素本身就是一个(通常是一维的)数组。像这样声明sortedString:
string[][] sortedString = new string[count][];这将允许每个“内部”数组具有不同的长度(取决于每个s中有多少个; ),这可能不是您想要的。
发布于 2021-10-20 20:23:38
C#有两种二维数组。如果您需要一次访问一个维度作为它自己的数组,则必须使用“锯齿”类型,如下所示:
string[][] sortedString = new string[count][];
for(int i = 0; i<sortedString.Length;i++)
sortedString[i] = new string[columns];或者,更好的是:
var sortedString = new List<string[]>;https://stackoverflow.com/questions/69652482
复制相似问题