C# 6.0 get アクセサーのみの自動実装プロパティ を式本体の定義
C# Tokyo 2.0から始めるC#入門/再入門に参加して今まで全然使ってこなかったけどもこれは便利だなと思った機能を上げていきます。
getアクセサーのみの自動実装プロパティを式本体の定義
getのみを持つプロパティでそのプロパティは式で表現できるものを簡潔に表現できるという機能。
例えば、姓と名を入れたらフルネームは自動的に表現できますのでsetメソッドは必要ないですよね。しかも、姓+名で文字列連結させることで表現できますのでこういったパターンに使える機能。
コード例
class Program
{
static void Main(string[] args)
{
FirstName = "友光";
LastName = "草場";
Console.WriteLine($"{FullName}");
Console.WriteLine($"{FullNameOldType}");
}
static string FirstName { get; set; }
static string LastName { get; set; }
static string FullName => $"{FirstName} {LastName}";
static string FullNameOldType { get { return $"{FirstName} {LastName}"; } }
}
実行結果
友光 草場 友光 草場
従来は、こういったパターンだとgetメソッドの内容を記述していたようなイメージだったのですが、プロパティの定義をラムダ式でかけるようになったってことですね。
大分すっきりかけるようになっていることがわかるかと思います。