高效地将矩阵值复制到新矩阵

4

有没有一种高效的内置方法可以将一个矩阵(例如 double[,])的值复制到另一个矩阵中?

换句话说,我正在寻找下面函数的替代方法:

    public static double[,]CloneMatrix(double[,] aMatrix)
    {
        var newMatrix = new double[aMatrix.GetLength(0),aMatrix.GetLength(1)];
        for (int i = 0; i < aMatrix.GetLength(0); i++)
        {
            for (int j = 0; j < aMatrix.GetLength(1); j++)
            {
                newMatrix[i, j] = aMatrix[i, j];
            }
        }
        return newMatrix;

    }

@Mark,问题已更新。 - Graviton
2个回答

8
使用Clone方法:
double[,] result = (double[,])aMatrix.Clone();

0
多维数组本身比向量(我们称之为“单维”数组,实际上与向量略有不同)慢,因为它们的实现方式不同(具有不同的边界检查和访问规则)。因此,顺便提一下,如果效率是一个问题,您可能需要考虑在某些情况下使用double[][]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接