很奇怪是否有更快/更简洁的方法来实现这一目标:
double[] source = ... // some initialisation
var target = new double[1, source.Length];
for (var c = 0; c < source.Length; c++)
{
target[0, c] = source[c];
}
答案 0 :(得分:2)
像这样初始化数组:
double[,] target = { { /* your list of values */ } };
然后你有一个只有一行的二维数组。
答案 1 :(得分:2)
由于您提到的是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));