0

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

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

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

2 回答 2

2

像这样初始化数组:

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

然后你有一个只有一行的二维数组。

于 2013-02-24T10:42:45.690 回答
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));
于 2013-02-24T10:45:15.283 回答