是否有一种有效的内置方法可以将值从一个矩阵(例如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;
}
答案 0 :(得分:5)
使用克隆方法:
double[,] result = (double[,])aMatrix.Clone();
答案 1 :(得分:0)
多维数组本身比向量慢(我们称之为“单维”数组,实际上与向量略有不同),因为它们的实现方式(具有不同的边界检查和访问规则)。因此,作为旁注,如果效率问题,您可能需要考虑在某些情况下使用double[][]
。