1. ホーム
  2. c#

[解決済み] .NETでフォーマット文字列のブレース(中括弧)をエスケープする方法

2022-03-20 19:10:57

質問

を使用する場合、どのように括弧をエスケープすることができますか? string.Format ?

例えば

String val = "1,2,3"
String.Format(" foo {{0}}", val);

この例では、例外は発生しませんが、文字列 foo {0} .

ブラケットをエスケープする方法はありますか?

どのように解決するのですか?

出力する場合 foo {1, 2, 3} のようなことをしなければならない。

string t = "1, 2, 3";
string v = String.Format(" foo {{{0}}}", t);

を出力するには { を使用します。 {{ を出力するようにし } を使用します。 }} .

また、現在では、C# の文字列補間を次のように使用することもできます (C# 6.0 で利用できる機能です)。

括弧をエスケープする。文字列の補間 $("") . C#6.0での新機能です。

var inVal = "1, 2, 3";
var outVal = $" foo {{{inVal}}}";
// The output will be:  foo {1, 2, 3}