double[] -> double[,]

本文关键字:double gt | 更新日期: 2023-09-27 18:00:42

只是好奇有没有更快/更整洁的方法来实现这一点:

double[] source = ... // some initialisation
var target = new double[1, source.Length];
for (var c = 0; c < source.Length; c++)
{
    target[0, c] = source[c];
}

double[] -> double[,]

初始化数组,如下所示:

double[,] target = { { /* your list of values */ } };

那么你就得到了一个只有一行的二维数组。

由于您提到这是针对p/Invoke的,因此使用BlockCopy可能是合理的:

double[] source = new double [] {1,2,3,4,7,8,9,0};// some initialisation
double[,] target = new double[1, source.Length];
Buffer.BlockCopy(source, 0, target, 0, source.Length * sizeof(double));