我认为这可能是一个非常简单的问题,但我还无法弄清楚。如果我有一个像这样的二维数组:
int[,] matris = new int[5, 8] {
{ 1, 2, 3, 4, 5,6,7,8 },
{9,10,11,12,13,14,15,16},
{ 17,18,19,20,21,22,23,24 },
{ 25,26,27,28,29,30,31,32 },
{ 33,34,35,36,37,38,39,40 },
};
和for循环,如下所示:
for (int r = 0; r < 5; r++)
{
for (int j = 0; j < 8; j++)
Console.Write("{0} ", matris[r, j]);
Console.WriteLine();
}
因此,使用此代码,我可以打印出多维数组。但是,如何打印数组的转置呢?
最佳答案
只需彼此更改循环:
for (int j = 0; j < 8; j++)
{
for (int r = 0; r < 5; r++)
Console.Write("{0} ", matris[r, j]);
Console.WriteLine();
}
创建新数组:
var newArray = new int[8, 5];
for (int j = 0; j < 8; j++)
for (int r = 0; r < 5; r++)
newArray[j, r] = matris[r, j];
关于c# - 如何转置多维数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18368611/