C#プログラム

【C#6.0~】文字列補間($を使った文字列書式設定)

C#6.0(Visual Studio 2015)からは$を使った文字列の書式設定を行う事ができます。

 

C#6.0より前では、String.Format を使って

double a = 355;
double b = 113;
double c = a / b;
var str = String.Format("a = {0}, b = {1}, a / b = {2}", a, b, c);
Console.WriteLine(str); // a = 355, b = 113, a / b = 3.14159292035398

と書いていたところを、C#6.0からは $”{xxx}” を使って

double a = 355;
double b = 113;
double c = a / b;
var str = $"a = {a}, b = {b}, a / b = {c}";
Console.WriteLine(str); // a = 355, b = 113, a / b = 3.14159292035398

のように $ の後に ” ” で文字列を囲って、変数部分は {}の中に直接変数を記入すると、文字列として、文字を連結してくれます。

とても直観的だし、こちらの方が自然な書き方ですよね。

(参考)

$ - 文字列補間 - 文字列の出力を書式設定します - C# reference
'$' トークンを使う文字列補間では、従来の複合文字列の書式設定よりも読み取りやすく、便利な構文で、文字列の出力を書式設定できます。

 

文字列の書式設定もString.Formatで用いていた文字と同じ書式設定子が使えて、{}内の文字列に : (コロン) を付けて書式指定の文字を記入します。

double a = 355;
double b = 113;
double c = a / b;
var str = $"a = {a:F3}, b = {b:F3}, a / b = {c:F6}";
Console.WriteLine(str); // a = 355.000, b = 113.000, a / b = 3.141593

書式の文字については、以下のページが参考になります。

標準の数値形式文字列

カスタム数値形式文字列

標準の日時形式文字列

カスタム日時形式文字列

書式設定操作の実行

 

← C#2.0からの脱却 へ戻る

コメント

タイトルとURLをコピーしました