C#中的数组连接

Bet*_*moo 4 c# arrays initialization concatenation array-initialization

  1. 如何在C#中使用两个(或更多)其他数组巧妙地初始化数组?

    double[] d1 = new double[5];
    double[] d2 = new double[3];
    double[] dTotal = new double[8]; // I need this to be {d1 then d2}
    
    Run Code Online (Sandbox Code Playgroud)
  2. 另一个问题:如何有效地连接C#数组?

Jul*_*rau 9

你可以使用CopyTo:

double[] d1 = new double[5];
double[] d2 = new double[3];
double[] dTotal = new double[d1.Length + d2.Length];

d1.CopyTo(dTotal, 0);
d2.CopyTo(dTotal, d1.Length);
Run Code Online (Sandbox Code Playgroud)


lep*_*pie 5

var dTotal = d1.Concat(d2).ToArray();
Run Code Online (Sandbox Code Playgroud)

你可以通过首先创建dTotal,然后只是复制两个输入来使它"更好" Array.Copy.


SLa*_*aks 5

您需要调用Array.Copy,如下所示:

double[] d1 = new double[5];
double[] d2 = new double[3];
double[] dTotal = new double[d1.length + d2.length];

Array.Copy(d1, 0, dTotal, 0, d1.Length);
Array.Copy(d2, 0, dTotal, d1.Length, d2.Length);
Run Code Online (Sandbox Code Playgroud)