LoginSignup
7
1

【C#】式本体の定義を使ってプロパティを簡潔に書く

Posted at

C# では式本体の定義を使って下記のようにプロパティを簡潔に書くことができます。

// 式本体の定義を使うとき
public Name => $"{_name}さん";

// 式本体の定義を使わないとき
public Name
{
    get
    {
        return $"{_name}さん";
    }
}

この書き方は、読み取り専用でないプロパティに対しても使えることを同僚の pull request をチラ見したときに初めて知りました(笑)
つまり、get と set の両方があるプロパティに対して式本体の定義が使用でき、なんなら set にも式本体の定義が使えます。

公式にまんまのコードがあったの引用させてもらいます。

public class Location
{
   private string locationName;

   public Location(string name) => Name = name;

   public string Name
   {
      get => locationName;
      set => locationName = value;
   }
}

https://learn.microsoft.com/ja-jp/dotnet/csharp/programming-guide/statements-expressions-operators/expression-bodied-members#properties より引用

C# のコードを書き始めて1年経ちましたが、まだまだ勉強不足だなと感じました。
また人の pull request を眺めるだけでも勉強になることが分かりました。(むしろ実践的で効果的かも?)

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1