【C#】$”{}”(文字列補間)とは

文字列補間とは

文字列内に値を埋め込むことを「文字列補間」といいます。

C#6.0以前までは、文字列内に値を埋め込む際に「String.Formatメソッド」を使用していました。

【C#】String.Formatメソッドとは

2021.04.25

しかし、C#6.0から文字列内に値を埋め込む際、「String.Formatメソッド」に加えて、「$”{}”」を使うことができるようになりました。

■公式ドキュメント
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/tokens/interpolated

$」の特殊文字を用いることで、リテラル文字列を挿入文字列として識別できます(リテラル文字列とは、ソースコードにべた書きした文字や数字のことです)。

 

サンプルコード

「String.Formatメソッド」と「$(文字列補間)」を比較してみます。

String.Formatメソッド

using System;

namespace c_stringformat
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = "taro"; // index0にいれる変数
            int startTime = 10; // index1にいれる変数

            string stFormat  = string.Format("おはよう{0}さん。{1}時になったら出発しましょう。", name, startTime);

            Console.WriteLine(stFormat);
        }
    }
}

実行結果:
おはようtaroさん。10時になったら出発しましょう。

これを文字列補間で実装してみます。

 

$”{}”文字列補間

using System;

namespace c_string_interpolation
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = "taro";
            int startTime = 10;

            string stFormat = $"おはよう{name}さん。{startTime}時になったら出発しましょう。"; // 文字列補間

            Console.WriteLine(stFormat);
        }
    }
}

実行結果:
おはようtaroさん。10時になったら出発しましょう。

上記のように、文字列補間を使用することにより、「String.Formatメソッド」よりもわかりやすく、直感的にコードを書くことができます(スクリプト系の言語ではよくある文字列内での式展開です)。

 

おすすめ書籍

■C#を学習し始めた方向け
やさしいC 第3版 (「やさしい」シリーズ)

1週間でCの基礎が学べる本

確かな力が身につくC「超」入門 第2版 (Informatics&IDEA)