0


0

参照型の定数の初期化と配列の隠蔽

1) `const int [] array = {1,2,3,4}; //これにより、以下のエラーが発生します `

"Error 1 'ConsoleApplication1.Main.array' is of type 'int[]'.
 A const field of a reference type other than string can only be initialized with null"

エラーメッセージによると私の意見では、参照型にconstを使用することは意味がありません。

2)int配列を連結するにはどうすればよいですか? 例:

int[] x={1,2,3} + {4,5,6};

私は+演算子が機能しないことを知っているので、文字列としてそれを行う最良の方法は何ですか?

2 Answer


2


Concat拡張メソッドはそれを行います。 高明瞭なコードではありませんが、ありません。

(new int[] { 1, 2, 3, 4 }).Concat(new int[] { 5, 6, 7, 8 }).ToArray();


2


{空} 1)はい、定数として有用な唯一の参照型は文字列です。

2)配列を連結するには、新しい配列を作成し、配列の内容をそこにコピーします。

int[] a = { 1, 2, 3 };
int[] b = { 4, 5, 6 };

int[] x = new int[a.Length + b.Length];
a.CopyTo(x, 0);
b.CopyTo(x, a.Length);

あなたが「最良の」方法とみなすものがわかりませんが、これが最も効果的です。 (簡単なテストは、これが `Concat`拡張メソッドを使用するよりも10-20倍速いことを示しています。)