目次
Array 型の初期化方法
配列の要素数を指定して初期化する方法
// 要素数5 の int 型配列を生成
int[] nums = new int[5];
string[] texts = new string[5];
// var を使った初期化も可能
var texts = new string[3];
// これはエラー。初期化時に要素数を指定する必要があります。
int[] a = new int[]; // CS1586
上記の書き方の場合、初期化時に要素数を指定しないとエラーになります。
初期化に配列の要素を代入する方法
int[] nums = new int[] { 1, 2, 3 };
string[] texts = new string[] { "a", "b", "c" };
// var を使った初期化も可能
var texts = new string[] { "a", "b", "c" };
初期化時にあらかじめ要素も入れて作成する方法です。
この場合、長さの指定は初期化リスト内の要素の数から推論されるため必要ありません。
また、new
式と配列型を省略した書き方も可能です。
配列初期化子で指定された要素から暗黙的に推論し、配列を作成します。
int[] nums = { 2, 4, 6, 8, 10 };
空の配列を生成し、後から値を代入する方法
string[] texts = new string[3];
texts[0] = "a";
texts[1] = "b";
texts[2] = "c";
List 型の初期化方法
空の List を初期化する方法
// 要素数3 の int型 List を作成
List<int> numList = new List<int>(3);
// 要素数の省略も可能
List<int> numList = new List<int>();
var textList = new List<string>();
List の初期化時は要素数の省略が可能です。
初期化に List の要素を代入する方法
List<int> numList = new List<int>() { 1, 2, 3 };
List<string> textList = new List<string> { "a", "b", "c" };
// var を使った初期化も可能
var textList = new List<string> { "a", "b", "c" };
List も配列同様に初期化時にあらかじめ要素を入れて作成できます。
空の List を生成し、後から値を代入する方法
List<string> textList = new List<string>();
textList.Add("a");
textList.Add("b");
textList.Add("c");
要素の追加には Add
を使用します。
Dictionary の初期化方法
空の Dictionary を初期化する方法
Dictionary<int, string> employees = new Dictionary<int, string>(3);
// 要素数の省略可能
Dictionary<int, string> employees = new Dictionary<int, string>();
// var を使った初期化も可能
var employees = new Dictionary<int, string>();
初期化に Dictionary の要素を代入する方法
Dictionary<int, string> employees = new Dictionary<int, string>()
{
{1, "Ken"},
{2, "Tom"},
{3, "Jon"}
};
Dictionary も初期化時にあらかじめ要素を入れて作成できます。
空の Dictionary を生成し、後から値を代入する方法
Dictionary<int, string> employees = new Dictionary<int, string>();
employees.Add(1, "Ken");
employees.Add(2, "Tom");
employees.Add(3, "Jon");
要素の追加には Add
を使用します。
多次元配列の初期化方法
空の多次元配列を初期化する方法
// 3 行 2 列の 2 次元配列
int[,] array = new int[3, 2];
// 2、4、3 の 3 次元配列
int[,,] array1 = new int[2, 4, 3];
// 要素数の指定がないためエラー
int[,] array = new int[,]; // CS1586
多次元配列では次元数-1だけ「,」で区切って初期化します。
「,」の数が1つなら二次元配列、「,」の数が2つなら三次元配列、、となります。
配列と同じく、初期化時に要素数の指定が必要です。指定がない場合はエラーになります。
初期化に多次元配列の要素を代入する方法
int[,] array = new int[,]
{
{ 1, 2 },
{ 3, 4 },
{ 5, 6 },
};
// new int[,] の省略可能
int[,] array = { { 1, 2 }, { 3, 4 }, { 5, 6 } };
また、new
式と配列型を省略した書き方も可能です。
配列初期化子で指定された要素から暗黙的に推論し、配列を作成します。
空の多次元配列を生成し、後から値を代入する方法
int[,] array = new int[3, 2];
array[0, 0] = 1;
array[0, 1] = 2;
array[1, 0] = 3;
array[1, 1] = 4;
array[2, 0] = 5;
array[2, 1] = 6;
参考資料
- 配列 (C# プログラミング ガイド) | Microsoft Docs
- 多次元配列 (C# プログラミング ガイド) | Microsoft Docs
関連記事
【C#】要素に重複のないリストを作成する3つの方法【List】【C#】 LINQ の各メソッドの紹介と使い方まとめ(Select, Where など)