2010-12-18 142 views
3

是否有一種有效的內置方法可將一個矩陣(例如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

@Mark,問題已更新。 – Graviton 2010-12-18 08:29:56

回答

4

使用Clone方法:

double[,] result = (double[,])aMatrix.Clone(); 
0

多維數組自己比矢量慢(我們稱之爲「單維」數組,實際上與矢量有些不同),因爲它們是如何實現的(使用不同的邊界檢查和訪問規則)。所以,作爲一個方面說明,如果效率是一個問題,您可能需要考慮在某些情況下使用double[][]