1. ホーム
  2. c#

[解決済み] 配列サイズを変更する

2023-07-09 07:48:15

質問

配列のサイズを宣言後に変更することは可能でしょうか? できない場合、配列に代わるものはありますか?

サイズが1000の配列を作りたくないのですが、作成時に配列のサイズがわかりません。

どのように解決するのですか?

いいえ、強く型付けされた リスト を使ってみてください。

例えば

を使う代わりに

int[] myArray = new int[2];
myArray[0] = 1;
myArray[1] = 2;

こんなこともできるんですね。

List<int> myList = new List<int>();
myList.Add(1);
myList.Add(2);

リストはデータを格納するために配列を使用するので、配列の速度的な利点と同時に LinkedList を気にすることなく項目の追加や削除ができることで、配列のスピードの利点と、 手動で でサイズを変更できます。

これは、配列のサイズ(この例では List )のサイズが変更されないということではありません。それゆえ、手動という言葉が強調されているのです。

配列があらかじめ定義されたサイズに達するとすぐに、JIT はヒープ上にその 2 倍のサイズの新しい配列を割り当て、既存の配列をコピーして渡します。