C#で配列の長さを取得するコードと実行結果を紹介します。
C#で配列の長さを取得する場合は、配列のLengthプロパティを参照します。
下記の書式となります。
で長さを取得できます。
多次元配列の場合は
により、要素の個数を返します。
各次元の配列数を求める場合は下記の書式を利用します。指定した次元の配列の長さを取得できます。
private void button4_Click(object sender, EventArgs e)
{
string[] array = new string[8] { "-", "+", "*", "/", "%", "$", "#", "&" };
textBox1.Text = Convert.ToString(array.Length);
}
private void button5_Click(object sender, EventArgs e)
{
string[,] array = new string[4, 2]
{ { "ペンギン", "シロクマ"}, { "ラクダ", "ゾウ"}, { "クジラ", "シャチ" },{"ニワトリ","ハト"} };
textBox1.Text = Convert.ToString(array.Length)+"\r\n";
for (int i=0; i < array.GetLength(0); i++) {
for (int j=0; j < array.GetLength(1); j++) {
textBox1.Text += array[i,j] + "\t";
}
textBox1.Text += "\r\n";
}
}
上記のコードの
は最初の次元の長さを返します。上記のコードの場合は4を返します。
は2つめの次元の長さを返しますので、上記のコードの場合は2を返します。
Windows Formアプリケーションを作成します。
下図のUIを作成します。フォームにButtonとMultiLinesプロパティをtrueに設定した、TextBoxを配置します。
下記のコードを記述します。[button1]のクリックイベントを実装します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ArrayDemo
{
public partial class FormArrayLength : Form
{
public FormArrayLength()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string[] data = {"ペンギン", "シロクマ", "ラクダ", "クジラ", "アルパカ" };
int arrayLength = data.Length;
textBox1.Text = "配列の長さ:" + arrayLength.ToString();
}
}
}
string型の配列を宣言し、初期値を代入します。
string[] data = {"ペンギン", "シロクマ", "ラクダ", "クジラ", "アルパカ" };
配列オブジェクトの"Length"プロパティを参照し配列長を取得します。取得した配列長はarrayLength変数に代入します。
int arrayLength = data.Length;
テキストボックスに配列の長さを表示します。今回のコード例では初期化時に5つの項目を代入しているため、配列長は5になります。
textBox1.Text = "配列の長さ:" + arrayLength.ToString();
上記のプロジェクトを実行します。下図のウィンドウが表示されます。[button1]をクリックします。配列の長さがテキストボックスに表示されます。
下図のUIを作成します。ButtonとTextBoxを配置します。今回は[button2]のボタンのみを利用します。
下記のコードを記述します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ArrayDemo
{
public partial class FormArrayLength : Form
{
public FormArrayLength()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
int[,] data = new int[3, 6];
data[0, 0] = 4; data[0, 1] = 0; data[0, 2] = 0; data[0, 3] = 1; data[0, 4] = 0; data[0, 5] = 0;
data[1, 0] = 0; data[1, 1] = 4; data[1, 2] = 0; data[1, 3] = 0; data[1, 4] = 1; data[1, 5] = 0;
data[2, 0] = 0; data[2, 1] = 0; data[2, 2] = 4; data[2, 3] = 0; data[2, 4] = 0; data[2, 5] = 1;
int length0 = data.GetLength(0);
int length1 = data.GetLength(1);
textBox1.Text = "1次元の長さ:" + length0.ToString();
textBox1.Text = "2次元の長さ:" + length1.ToString();
}
}
}
3×6の配列を宣言し初期値を代入しています。
int[,] data = new int[3, 6];
data[0, 0] = 4; data[0, 1] = 0; data[0, 2] = 0; data[0, 3] = 1; data[0, 4] = 0; data[0, 5] = 0;
data[1, 0] = 0; data[1, 1] = 4; data[1, 2] = 0; data[1, 3] = 0; data[1, 4] = 1; data[1, 5] = 0;
data[2, 0] = 0; data[2, 1] = 0; data[2, 2] = 4; data[2, 3] = 0; data[2, 4] = 0; data[2, 5] = 1;
配列オブジェクトのGetLengthメソッドを呼び出し、各次元の長さを取得します。取得した長さをテキストボックスに表示します。
int length0 = data.GetLength(0);
int length1 = data.GetLength(1);
textBox1.Text = "1次元の長さ:" + length0.ToString();
textBox1.Text = "2次元の長さ:" + length1.ToString();
上記のプロジェクトを実行します。下図の画面が表示されます。[button2]をクリックします。多次元配列のそれぞれの次元の長さがテキストボックスに表示されます。