Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
配列.Length / Array.Resize()
配列の要素数を取得する『Length』プロパティと、配列のサイズを変更する『Array.Resize()』メソッドです。
構文
// 配列の要素数を取得します。 配列.Length // 配列を newSize の要素数にリサイズします。元の配列への参照を書き換えます。 Array.Resize(ref T[] array, int newSize) // 多次元配列の特定の次元の要素数を取得します。 配列.GetLength(int dimension)
メソッド一覧
| メンバー | 概要 |
|---|---|
| Length | 配列の全要素数を返します。多次元配列の場合はすべての次元の要素数の積になります。 |
| Array.Resize(ref T[] array, int newSize) | 配列を newSize の長さに変更します。拡張した場合は新しい要素が既定値(数値なら 0、文字列なら null)で初期化されます。縮小した場合は末尾の要素が削除されます。 |
| GetLength(int dimension) | 指定した次元(0始まり)の要素数を返します。一次元配列では GetLength(0) が Length と同じ値になります。 |
サンプルコード
using System;
// Length で要素数を取得します。
int[] 点数 = { 85, 92, 78, 95, 60 };
Console.WriteLine(点数.Length); // 5
// for ループでよく使われます。
for (int i = 0; i < 点数.Length; i++)
{
Console.WriteLine($"[{i}] {点数[i]}点");
}
// Array.Resize() で拡張します。
string[] チーム = { "田中", "鈴木", "佐藤" };
Console.WriteLine(チーム.Length); // 3
Array.Resize(ref チーム, 5);
チーム[3] = "山田";
チーム[4] = "伊藤";
Console.WriteLine(チーム.Length); // 5
foreach (string 名前 in チーム)
{
Console.Write(名前 + " "); // 田中 鈴木 佐藤 山田 伊藤
}
Console.WriteLine();
// Array.Resize() で縮小します(末尾から削除されます)。
Array.Resize(ref チーム, 2);
Console.WriteLine(チーム.Length); // 2
Console.WriteLine(チーム[0]); // 田中
概要
C# の配列は宣言時にサイズが固定されます。『Array.Resize()』は内部的に新しい配列を作成して要素をコピーするため、呼び出し頻度が高いとパフォーマンスに影響します。要素数が動的に変わる場合は、最初から『List<T>』の使用を検討してください。
配列の並べ替えには『Array.Sort() / Array.Reverse()』、要素の検索には『Array.IndexOf() / Array.Copy()』を参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。