我有一个List<string>包含名称的tmpNames,例如("A","B","C","D","E",F").
tmpNames的大小可以不同(它是从客户端输入获得的结果).
现在我需要创建一个包含许多行和列的矩阵.
string[,] tmpMatrix = new string[tmpRows.Count,tmpCols.Count];
Run Code Online (Sandbox Code Playgroud)
但是为了迭代和构建矩阵,我有以下代码,其中我无法访问tmpNames中的所有项目.
for(int i= 0; i<tmpRows.Count; i++){
for(int j= 0; j<tmpRows.Count; j++){
tmpMatrix[i,j] = tmpNames[i];
}
}
Run Code Online (Sandbox Code Playgroud)
我需要的结果是:
ABC
DEF
你算算你需要哪种指数tmpNames-你既需要i和j为.您可能希望将其写在纸上以查看模式:
j=0 j=1 j=2
i=0 0 1 2
i=1 3 4 5
Run Code Online (Sandbox Code Playgroud)
你的代码应该是这样的:
for(int i= 0; i<tmpRows.Count; i++){
for(int j= 0; j<tmpCols.Count; j++){
tmpMatrix[i,j] = tmpNames[i * tmpCols.Count + j];
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,我还补正的状态在第二循环:你要比较j同tmpCols.Count,不是tmpRows.Count.