1. 二维数组
var two = new double[3,3];
two[0,0] = 1;
two[0,1] = 2;
two[0,2] = 3;
two[1,0] = 4;
two[1,1] = 5;
two[1,2] = 6;
two[2,0] = 7;
two[2,1] = 8;
two[2,2] = 9;
two.Dump();
2. Array.Copy
var one = new double[9];
Array.Copy(two, one, one.Length);
3. Buffer.MemoryCopy
var one = new double[9];
unsafe
{
fixed (double* ptwo = two)
fixed (double* pone = one)
{
Buffer.MemoryCopy(ptwo, pone, one.Length * sizeof(double), two.Length * sizeof(double));
}
}
one.Dump(nameof(Buffer.MemoryCopy));
4. Buffer.BlockCopy
var one = new double[9];
Buffer.BlockCopy(two, 0, one, 0, one.Length);
one.Dump("Buffer.BlockCopy");