double [] - >双[,]

时间:2013-02-24 10:27:55

标签: c#

很奇怪是否有更快/更简洁的方法来实现这一目标:

double[] source = ... // some initialisation

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

2 个答案:

答案 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));