C#Note | Visual Studio | MSDN | MSDN ライブラリ | VSUG |

目 次

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
109:
110:
 
この Web サイトに関する感想などについては、takamorimail@yahoo.co.jpまで電子メールでお送りください。ただし、技術的な質問にはお答えできません。
Copyright (C) 2008 Takamori