C# if文省略形からはじまったこのシリーズ、今度こそ最終回となりました。
今回は、書く手間を極限まで減らせる構文、record と 式メンバー(expression-bodied members) をご紹介します。
これまでの if 文やラムダ式とはまた違った、「書かないことが正義」な省略形たちです。
このあたりまで来るともはやKuroMikanも自ら勉強しながら執筆しております💦
record:クラス定義を1行にまとめたいときに
普通に書くとこう
public class Person
{
    public string Name { get; }
    public int Age { get; }
    public Person(string name, int age)
    {
        Name = name;
        Age = age;
    }
}このコードは「Personというクラスを定義し、名前と年齢をコンストラクタで受け取れる」という処理を行います。
プロパティ、コンストラクタ、初期化処理…きちんと書いています。
親の顔ほど見たクラス設計ですが、これを省略することができます。
✂️ 省略するとこう
public record Person(string Name, int Age);わずか1行──。
このコードは、同じ「Person」クラスをたった1行で定義します。プロパティやコンストラクタ、ToString などが自動生成されます。
record にすると、プロパティ・コンストラクタ・Equals/GetHashCode/ToString など一式が自動生成されます。
不変(イミュータブル)な値オブジェクトに最適です。
✅ 使用例
var p = new Person("Alice", 30);
Console.WriteLine(p); // 出力: Person { Name = Alice, Age = 30 }recordを使ったインスタンスを作って、その内容を文字列として出力します。ToString() の出力すらもう賢い。
式メンバー:メソッドやプロパティも1行で
普通に書くとこう
public int Square(int x)
{
    return x * x;
}
このコードは、整数を受け取って2乗を返すメソッドです。
これも親の顔ほど(略)この関数も省略できます。
✂️ 省略するとこう
public int Square(int x) => x * x;同じ処理を式1つで書いたメソッドです。return と波カッコが不要になります。
前回のラムダ式編でも登場した => ですが、式が1つだけのときは { return ... } を => で書けます。
✅ プロパティも省略できる
public int AgeInMonths => Age * 12;このコードは、Age プロパティを12倍した月齢を返す読み取り専用プロパティです。get も {} も不要。単純な「計算だけ」のプロパティにぴったり。
式コンストラクタ・式デストラクタ
public Person(string name) => Name = name;
~Person() => Console.WriteLine("Bye!");このコードは、コンストラクタとデストラクタを1行で記述しています。処理がシンプルなときに便利です。
省略はメソッドだけにとどまりません。
「書く」より「言いたいことだけ伝える」という姿勢が大事です。
まとめ:コードは短く、意図は明確に
| 処理内容 | 普通の書き方 | 省略形(モダンな書き方) | 
|---|---|---|
| 不変オブジェクト定義 | プロパティ+コンストラクタ | recordキーワードで1行 | 
| 単一式のメソッド | { return ...; } | =>式メンバーで1行 | 
| 計算プロパティ | get { return ...; } | =>式プロパティで簡潔に | 
このように、C# では「書かなくていい部分を減らし、書いた部分が何を意味するかがすぐに伝わる」ように進化してきました。
省略形とは、単なる手抜きではなく、意図を明快にするための工夫です。
これにて「if文省略形シリーズ」は完結です。
C#という言語は、「明示的に書ける自由」もあれば、「省略しても伝わる表現力」も持ち合わせています。
このシリーズでは、コードの「短さ」だけでなく、「読みやすさ」や「意図の明確さ」にフォーカスして、省略形の利点と使いどころを見てきました。
書く量を減らすことは、単なる時短ではありません。
読み手(コードレビュアー等)の負担を減らし、コードの意図を素早く伝え、保守や拡張をしやすくする――それこそが、C#が提供する省略構文の本当の価値です。
今後も複雑なロジックを整理し、シンプルに伝える力を磨きながら、よりスマートなコードを目指していけたらと思います。
小さな1行の省略が、チーム全体の理解と品質に繋がることもありますからね。
ここまでお付き合いいただき、本当にありがとうございました。
このシリーズがあなたのC#ライフを少しでも快適に、そしてちょっと楽しくできたなら幸いです。
 
  
  
  
  

