C#で配列変数の要素数を、初期化(0にする)や新しい要素数に変更するには、Resizeメソッドを使って行います。配列にした変数の要素数の増減方法を備忘録的に投稿します。
配列のResizeメソッドで自由に増減
C++では、配列にした変数の要素数を変更するには、関数を作って、ルーチン内で一度潰して再定義をしたりしていましたが、C#ではArray.Resizeメソッドで自由に増減できるようです。
詳細は公式ページ[Array.Resize<T>(T[], Int32) メソッド]をご覧ください。
C++と違って、どんどん簡単になるのでプログラムを書く方に集中できます。
実際には次の様に追加をしていきます。
例えば、次の様に Image型変数の配列を定義して、配列を要素数を増やします。
private System.Drawing.Image[]? imageList;
imageList = new System.Drawing.Image[files.Length];
この時点で変数は自動的に、files.Length分だけの要素数になります。
増やしてしまった要素数に変更したい場合に、Resizeメソッドを使います。
Array.Resize(ref imageList, 0);
新しい要素数が分かっていれば、そのまま数を代入することもできますが、分かっていない場合には、引数に0を指定すれば要素数が初期化される(はず)です。
imageList = new System.Drawing.Image[files.Length];
その後に、files.Lengthを代入するようにすれば新しい要素数が設定されます。
まとめ
今回は短い記事ですが、C#で配列を初期化したり要素数を変更する場合には、Resizeメソッドを使います。
C#で配列を初期化したり要素数を変更したい方の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。