5
  1. C#で他の2つ(またはそれ以上)の配列で配列をスマートに初期化するにはどうすればよいですか?

    double[] d1 = new double[5];
    double[] d2 = new double[3];
    double[] dTotal = new double[8]; // I need this to be {d1 then d2}
    
  2. 別の質問:C#配列を効率的に連結するにはどうすればよいですか?

4

4 に答える 4

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);
于 2010-05-07T12:59:46.820 に答える
6
var dTotal = d1.Concat(d2).ToArray();

最初にdTotalを作成し、次に両方の入力を。でコピーすることで、おそらく「より良い」ものにすることができますArray.Copy

于 2010-05-07T12:55:43.783 に答える
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);
于 2010-05-07T12:56:16.023 に答える
-1
using System.Linq;

int[] array1 = { 1, 3, 5 };
int[] array2 = { 0, 2, 4 };

// Concat array1 and array2.
var result1 = array1.Concat(array2).ToArray();
于 2013-09-20T12:34:48.653 に答える