【C#】文字列補間($”…”)の基本と活用例

【C#】文字列補間($"…")の基本と活用例 C#

C# 6.0 以降では、文字列の中に変数や式を直接埋め込める文字列補間(interpolated string)が導入されました。従来の string.Format() よりも可読性が高く、コードをシンプルに記述できます。この記事では $"…" の基本的な使い方から便利な活用例までを解説します。

基本構文

文字列補間は $ を先頭に付けた文字列リテラルの中で、{ } 内に変数や式を記述することで利用できます。

string name = "Taro";
int age = 20;

// 文字列補間を使う場合
string message = $"名前は {name}、年齢は {age} 歳です。";
Console.WriteLine(message);

// 出力例: 名前は Taro、年齢は 20 歳です。

式を埋め込む

変数だけでなく、計算式やメソッド呼び出しの結果も埋め込めます。

int x = 5;
int y = 7;

Console.WriteLine($"合計は {x + y} です");  // 合計は 12 です
Console.WriteLine($"現在時刻: {DateTime.Now.ToString("HH:mm:ss")}");  

書式指定と数値フォーマット

: の後に書式指定子を追加することで、数値や日付を整形して出力できます。

double price = 1234.56;
DateTime today = DateTime.Today;

Console.WriteLine($"金額: {price:C}");    // 金額: ¥1,234
Console.WriteLine($"日付: {today:yyyy/MM/dd}");  // 日付: 2025/09/13

改行や verbatim 文字列との併用

$@"…" のように $@ を組み合わせると、複数行文字列に補間を適用できます。

string name = "Hanako";
string multiLine = $@"こんにちは {name} さん
このメッセージは複数行にまたがっています。";

Console.WriteLine(multiLine);

エスケープが必要な場合

中かっこ {} を文字として表示したい場合は {{}} と二重に記述します。

Console.WriteLine($"式の中に波括弧を書く: {{example}}");
// 出力: 式の中に波括弧を書く: {example}

まとめ

  • 文字列補間は $"…" で記述し、{ } に変数や式を埋め込める
  • 数値や日付のフォーマットを簡潔に記述できる
  • @ と組み合わせて複数行文字列にも対応可能
  • {{ }} で中かっこ自体を表現できる

文字列補間を活用すれば、従来の string.Format() よりも見やすく保守性の高いコードが書けます。実務でも頻繁に利用される機能なので、ぜひマスターしておきましょう。