C#で、よく使い良く忘れる、配列初期化、オブジェクト初期化、コレクション初期化の例を並べてみる。
配列の初期化
string[] week = { "日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日" };
int[] prime = { 2, 3, 5, 7, 11 };
Listの初期化
List<string> PrefectureNameList = new List<string> { "Tokyo", "Osaka", "Fukuoka" };
List<int> PointList = new List<int> { 70, 98, 30 };
Dictionaryの初期化
Dictionary<string, string> PrefectureEnToJp = new Dictionary<string, string> {
["Tokyo"] = "東京",
["Osaka"] = "大阪",
["Fukuoka"] = "福岡"
};
Dictionary<string, int> PrefectureCode = new Dictionary<string, int> {
["Tokyo"] = 13,
["Osaka"] = 27,
["Fukuoka"] = 40
};
匿名型の初期化
var pet = new { Age = 10, Name = "Pochi" };
プロパティの初期化
public class Student
{
public string FirstName { get; set; } = "Gonbei";
public string LastName { get; set; } = "Nanashi";
public string Class { get; set; }
public List<int> PointList { get; set; } = new List<int>();
}
プロパティ(Property)の初期化は、VS2015で使えるようになった。
オブジェクト(クラス)の初期化
Student myStudent = new Student()
{
FirstName = "Taro",
LastName = "Yamada",
Class = "B",
PointList = new List<int> { 40, 30, 80 }
};
もちろん、オブジェクトの初期化時に、内包するListも初期化可能。
クラスを含めたのList型の初期化
List<Student> studentList = new List<Student>()
{
new Student() {
FirstName = "Taro",
LastName = "Yamada",
PointList = new List<int> { 10, 20 }
},
new Student() {
FirstName = "Hanako",
LastName = "Suzuki",
PointList = new List<int> { 30, 25, 10 } },
null
};
あまり使い道無い気もするけど、コレクションの中身をnullで初期化もできる。