C#中的数组连接
-
如何在C#中使用两个(或更多)其他数组巧妙地初始化数组?
double[] d1 = new double[5]; double[] d2 = new double[3]; double[] dTotal = new double[8]; // I need this to be {d1 then d2}
-
另一个问题:如何有效地连接C#数组?
你可以使用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);
var dTotal = d1.Concat(d2).ToArray();
您可以通过先创建dTotal然后只使用Array.Copy
复制两个输入来使其“更好”。
你需要调用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);
using System.Linq; int[] array1 = { 1, 3, 5 }; int[] array2 = { 0, 2, 4 }; // Concat array1 and array2. var result1 = array1.Concat(array2).ToArray();