web-dev-qa-db-ja.com

C#の配列サイズ(長さ)

C#で配列のサイズ(長さ/アイテムの数)を決定するにはどうすればよいですか?

83
Amal

1次元配列aの場合、

a.Length

aの要素数を提供します。

bが長方形の多次元配列の場合(たとえば、int[,] b = new int[3, 5];

b.Rank

次元数(2)および

b.GetLength(dimensionIndex)

与えられた次元の長さを取得します(次元の0ベースのインデックス-b.GetLength(0)は3で、b.GetLength(1)は5です)。

詳細については、 System.Array documentation を参照してください。

@Luceroがコメントで指摘しているように、「ギザギザの配列」という概念があります。これは実際には(通常は1次元の)配列の1次元配列にすぎません。

たとえば、次のものがあります。

int[][] c = new int[3][];
c[0] = new int[] {1, 2, 3};
c[1] = new int[] {3, 14};
c[2] = new int[] {1, 1, 2, 3, 5, 8, 13};

cの3つのメンバーはすべて長さが異なることに注意してください。この場合、以前と同様、c.Lengthc、(3)およびc[0].Lengthc[1].Length、およびc[2].Lengthの要素の数を3に示します。それぞれ2および7。

136
Blair Conrad

Arrayのドキュメント を見て、この質問に対する答えを見つけてください。

この特定のケースでは、おそらく Length が必要です。

int sizeOfArray = array.Length;

しかし、これは基本的な質問であり、答えを伝えるだけでなく、自分自身で答えを見つける方法をお話しするのではなく、間違いなくもっと多くの質問があります。

Visual Studio Intellisense

変数の名前を入力して.キーを押すと、そのオブジェクトで使用可能なすべてのメソッド、プロパティ、イベントなどのリストが表示されます。メンバーをハイライトすると、その機能の簡単な説明が表示されます。

F1を押す

必要なことを実行できるメソッドまたはプロパティを見つけたが、確信が持てない場合は、カーソルをその上に移動してF1を押すとヘルプが表示されます。ここでは、より詳細な説明と関連情報へのリンクを取得します。

検索

検索用語 size of array in C# は、あなたの質問への答えなどを伝える多くのリンクを提供します。プログラマーが学ばなければならない最も重要なスキルの1つは、情報を見つける方法です。特に同じ質問が以前に聞かれた場合は特に、自分で答えを見つける方が速いことがよくあります。

チュートリアルを使用する

C#を学習し始めたばかりの場合は、チュートリアルに従うほうが簡単です。 MSDNで C#チュートリアル をお勧めします。本が必要な場合は、 Essential C# をお勧めします。

スタックオーバーフロー

自分で答えが見つからない場合は、Stack Overflowに質問を投稿してください。しかし、あなたが最初に自分自身で答えを見つける努力をしたことを示してくれれば、私たちは感謝しています。

28
Mark Byers

1次元配列の場合

int[] listItems = new int[] {2,4,8};
int length = listItems.Length;

多次元配列用

int length = listItems.Rank;

1次元のサイズを取得するには

int length =  listItems.GetLength(0);
14
Johnny

Lengthプロパティを使用します。

int[] foo = new int[10];
int n = foo.Length; // n == 10
8
Joren

yourArray.Length :)

7
Petar Minchev

単一次元配列の場合、Lengthプロパティを使用します。

int size = theArray.Length;

複数の次元配列の場合、Lengthプロパティは、配列内のアイテムの総数を返します。 GetLengthメソッドを使用して、いずれかのディメンションのサイズを取得できます。

int size0 = theArray.GetLength(0);
5
Guffa

ほとんどの場合、「長さ」と「カウント」が使用されます。

アレイ:

int[] myArray = new int[size];
int noOfElements = myArray.Length;

型付きリスト配列:

List <int> myArray = new List<int>();
int noOfElements = myArray.Count;
3
KbManu

次のようになります:1D:

 type[] name=new type[size]  //or =new type[]{.....elements...}

2D:

 type[][]name=new type[size][] //second brackets are emtpy

この配列を使用すると:

 name[i]=new type[size_of_sec.Dim]

または、行列のようなものを宣言できます

type[ , ] name=new type [size1,size2]
1
Sara Ste.