[C#] 匿名型でのプロパティ名の省略
今回は、ごく軽く余り役に立たない話題。C# の匿名型に関して。
■ 匿名型
匿名型は、以下のようなものだ。
var 本1 = new { タイトル = "C#入門", 価格 = 3800 };
これで、"本1" は次のような無名のクラスの参照変数となる、と云うものだ。
// 疑似コード (コンパイルできない) class <>f__AnonymousType1`2 // 内部的なクラス名 { public string タイトル { get; set; } public int 価格 { get; set; } }
■ 匿名型のプロパティ名の省略
名前が付いている場合、匿名型のプロパティ名は省略できる。
例えば、変数を使用した場合、以下のように書ける:
var タイトル = "C#入門"; var 価格 = 3800; var 本2 = new { タイトル, 価格 };
これで、"本2" は、先のクラスと同様の匿名クラスの参照変数となる。
まあ、これは大して役に立たないだろう。変数名とプロパティ名では、通常、命名規則が異なる (CamelCase と PascalCase が普通) からだ。
プロパティ名を使うこともできる:
var 出力用本 = new { 本1.タイトル, 価格 = 本1.価格.ToString("C") };
"出力用本" は、次の2つのプロパティを持つ匿名クラスの参照変数だ。
public string タイトル { get; set; } public string 価格 { get; set; }
こちらは、「同じプロパティ名としたい (先のプロパティ名が変更になったら変更になるようにしたい)」と云う場合等に使えるかもしれない。
ディスカッション
コメント一覧
まだ、コメントがありません