我怎样才能更换2个dim阵列?

时间:2017-11-15 03:27:20

标签: c#

我想替换数组元素

arr1[n][m] to arr2[m][n]

例如:

arr1[0]{a1,a2,a3}
arr1[1]{b1,b2,b3}

更改为:

arr2[0]{a1,b1}
arr2[1]{a2,b2}
arr2[2]{a3,b3}

我该怎么做?

1 个答案:

答案 0 :(得分:0)

基本上你需要进行给定矩阵的转置。

public T[,] TransposeMatrix(T[,] matrix)
{
    var rows = matrix.GetLength(0);
    var columns = matrix.GetLength(1);
    var result = new T[columns, rows];

    for (var c = 0; c < columns; ++c)
    {
        for (var r = 0; r < rows; ++r)
        {
            result[c, r] = matrix[r, c];
        }
    }

    return result;
}