2010-12-18 13 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

@マーク、質問が更新されました。 – Graviton

答えて

4

は、Cloneメソッドを使用します。

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

多次元配列は自らベクターよりも遅い(私たちが呼んでいます(実際にはベクトルとは少し異なります)。なぜなら、それらがどのように実装されているか(境界チェックとアクセスルールが異なるため)です。したがって、効率性が懸念される場合は、double[][]を使用することを検討したい場合があります。

関連する問題