C# 配列の初期化方法について

基本的なことですが、配列の初期化方法について説明します。

まずは、基本的な1次元配列の初期化です。

            // 1次元配列の原始的な方法で初期化
            string[] names1 = new string[3];
            names1[0] = "John";
            names1[1] = "Paul";
            names1[2] = "Mary";
             
            // 一般的な1次元配列の初期化(配列のサイズは明示しない方が良い)
            string[] names2 = new string[] { "John""Paul""Mary" };
             
            // 実は右辺の new string[] は省略可能
            string[] names3 = { "John""Paul""Mary" };
             
            // 実は左辺をvar(型推論)する場合は new string[] は省略できない
            var names4 = new string[] { "John""Paul""Mary" };

次に、2次元配列の初期化と、あまりつかいませんがジャグ配列の初期化についてです。

            // 2次元配列の初期化
            int[,] num1 = new int[,] { {1, 2}, {3, 4}, {5, 6} };
             
            // 右辺の new int[,] は省略可能
            int[,] num2 = { {1, 2}, {3, 4}, {5, 6} };
             
            // 左辺をvar(型推論)する場合は new int[,] は省略できない
            var num3 = new int[,] { {1, 2}, {3, 4}, {5, 6} };
             
            // ジャグ配列
            int[][] jag1 = new int[][] { new int[] {2, 4, 6}, new int[] {1, 3, 5, 7, 9} };
             
            // 右辺の new int[][] は省略可能
            int[][] jag2 = { new int[] {2, 4, 6}, new int[] {1, 3, 5, 7, 9} };
             
            // 左辺をvar(型推論)する場合は new int[,] は省略できない
            var jag3 = new int[][] { new int[] {2, 4, 6}, new int[] {1, 3, 5, 7, 9} };

次に、特定の同じ値ですべて初期化する方法です。ここでは Enumerable.Repeat を使用します。

            // すべて -1 で 長さ100 の配列を初期化
            int [] minus = Enumerable.Repeat<int>(-1, 100).ToArray();
             
            // すべて "Taro" で 長さ100 の配列を初期化
            string [] taro = Enumerable.Repeat<string>("Taro", 100).ToArray();
使用環境: Visual Studio 2010 .NET Framework 3.0 以降

C# メニューリスト