|
|
連載:[完全版]究極のC#プログラミング
Chapter13 自動実装と自動定義
川俣 晶
2010/02/17 |
|
|
13.11 コレクションはreadonlyでも初期化できる
例外的に、オブジェクト初期化子を使ってreadonlyのオブジェクトを初期化できるケースがある。「コレクションの初期化」は、コレクション自身を書き換えるわけではないのでreadonlyでも使用できるのである。読み出し専用プロパティでも同様である。
この2つのケースでオブジェクト初期化子を使って初期化した例をリスト13.25として次に示す。
using System;
using System.Collections.Generic;
class A
{
public readonly List<int> List1 = new List<int>();
private List<int> list2 = new List<int>();
public List<int> List2
{
get { return list2 ;}
}
}
class Program
{
static void Main(string[] args)
{
var a = new A() {
List1 = { 2, 3, 5 },
List2 = { 7, 11, 13 },
};
a.List1.ForEach((i) => { Console.WriteLine("{0}", i); });
// 出力:
// 2
// 3
// 5
a.List2.ForEach((i) => { Console.WriteLine("{0}", i); });
// 出力:
// 7
// 11
// 13
}
}
|
|
リスト13.25 readonlyフィールド、読み出し専用プロパティを初期化する |
Insider.NET 記事ランキング
本日
月間