|
|
目 次
101: 配列とは?
102: 一次元配列と二次元配列の使い方。
103: 配列の宣言と初期化を同時に行う。
104: 配列の要素数を途中で変更する。
105: ジャグ配列の使い方。
106: 配列をソートする。
107: 配列をクリア(初期化)する。
108: 配列の次元数を取得する。
109:
110:
101: 配列とは?
|
|
配列とは、配列の要素と呼ばれる複数の変数を含むデータ構造です。配列の要素には、計算によって得られるインデックスを使ってアクセスします。C#
の配列のインデックスは、0
から始まります。配列の要素はすべて同じ型である必要があり、この型を配列の要素型と呼びます。配列の要素および配列型は、どのような型でもかまいません。また、1
次元配列も多次元配列も使用できます。
102: 一次元配列と二次元配列の使い方。
|
/*一次元配列*/
private void button1_Click(object sender, EventArgs e) {
int[] _Array = new int[5];
for (int i = 0; i < _Array.Length; i++) {
_Array[i] = i;
}
for (int i = 0; i < _Array.Length; i++) {
Console.WriteLine(_Array[i]);
}
}
[結果]
0
1
2
3
4
/*二次元配列*/
private void button2_Click(object sender, EventArgs e) {
string[,] _Array = new string[3, 5];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
_Array[i, j] = i.ToString() + "-" + j.ToString();
}
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
Console.WriteLine(_Array[i, j]);
}
}
}
[結果]
0-0
0-1
0-2
0-3
0-4
1-0
1-1
1-2
1-3
1-4
2-0
2-1
2-2
2-3
2-4
|
103:
配列の宣言と初期化を同時に行う。
|
private void button1_Click(object sender, EventArgs e) {
string[] _Array = new string[4] { "東", "南", "西", "北" };
for (int i = 0; i < _Array.Length; i++) {
Console.WriteLine(_Array[i]);
}
}
[結果]
東
南
西
北
|
104:
配列の要素数を途中で変更する。
|
下記の例では、要素数4から7にします。newすれば要素数は7になりますが、中身のデータも初期化されるためにCopyToを使用して元のデータをコピーしながら要素数を7にしています。
private void button1_Click(object sender, EventArgs e) {
string[] _Array = new string[4] { "東", "南", "西", "北" };
//_Array = new string[7]; /*new すると初期化される*/
/*0はコピー開始するindex*/
_Array.CopyTo(_Array = new string[7], 0);
_Array[4] = "白";
_Array[5] = "発";
_Array[6] = "中";
for (int i = 0; i < _Array.Length; i++) {
Console.WriteLine(_Array[i]);
}
}
[結果]
東
南
西
北
白
発
中
|
105:
ジャグ配列の使い方。
|
ジャグ配列とは、その要素も配列である配列です。ジャグ配列の要素は、次元やサイズが異なっていてもかまいません。
/*ジャグ配列(配列の配列)*/
private void button1_Click(object sender, EventArgs e) {
string[][] _Array = new string[3][];
_Array[0] = new string[] { "東", "南", "西", "北" }; /*_Array[0]には4つの要素*/
_Array[1] = new string[] { "白", "発", "中" }; /*_Array[1]には3つの要素*/
_Array[2] = new string[] { "右", "左" }; /*_Array[2]には2つの要素*/
for (int i = 0; i < _Array.Length; i++) {
for (int j = 0; j < _Array[i].Length; j++) {
Console.WriteLine(_Array[i][j]);
}
}
}
[結果]
東
南
西
北
白
発
中
右
左
|
106:
配列をソートする。
|
private void button1_Click(object sender, EventArgs e) {
int[] _Array = new int[5] {3, 1, 5, 4, 2};
for (int i = 0; i < _Array.Length; i++) {
Console.WriteLine("ソート前: {0}", _Array[i]);
}
Console.WriteLine("------------------------");
Array.Sort(_Array); /*ソート*/
for (int i = 0; i < _Array.Length; i++) {
Console.WriteLine("ソート後: {0}", _Array[i]);
}
}
[結果]
ソート前: 3
ソート前: 1
ソート前: 5
ソート前: 4
ソート前: 2
------------------------
ソート後: 1
ソート後: 2
ソート後: 3
ソート後: 4
ソート後: 5
|
107:
配列をクリア(初期化)する。
|
private void button1_Click(object sender, EventArgs e) {
int[] _Array = new int[5] {3, 1, 5, 4, 2};
_Array = new int[] { };
Console.WriteLine("要素数: {0}", _Array.Length);
}
[結果]
要素数: 0
|
108:
配列の次元数を取得する。
|
private void button1_Click(object sender, EventArgs e) {
int[ , , ] _Array = new int[5, 5, 5];
Console.WriteLine("次元数: {0}", _Array.Rank);
}
[結果]
次元数: 3
|
|
|
|
|
|
|
| この Web
サイトに関する感想などについては、takamorimail@yahoo.co.jpまで電子メールでお送りください。ただし、技術的な質問にはお答えできません。 |
| Copyright (C) 2008 Takamori |
|