How can brackets be escaped in using string.Format?
For example:
String val = "1,2,3"
String.Format(" foo {{0}}", val);
This example doesn't throw an exception, but it outputs the string foo {0}.
Is there a way to escape the brackets?
How can brackets be escaped in using string.Format?
For example:
String val = "1,2,3"
String.Format(" foo {{0}}", val);
This example doesn't throw an exception, but it outputs the string foo {0}.
Is there a way to escape the brackets?
For you to output foo {1, 2, 3} you have to do something like:
string t = "1, 2, 3";
string v = String.Format(" foo {{{0}}}", t);
To output a { you use {{ and to output a } you use }}.
Or now, you can also use C# string interpolation like this (a feature available in C# 6.0)
Escaping brackets: String interpolation $(""). It is new feature in C# 6.0.
var inVal = "1, 2, 3";
var outVal = $" foo {{{inVal}}}";
// The output will be: foo {1, 2, 3}
Almost there! The escape sequence for a brace is {{ or }} so for your example you would use:
string t = "1, 2, 3";
string v = String.Format(" foo {{{0}}}", t);
You can use double open brackets and double closing brackets which will only show one bracket on your page.
My objective:
I needed to assign the value "{CR}{LF}" to a string variable delimiter.
C# code:
string delimiter= "{{CR}}{{LF}}";
Note: To escape special characters normally you have to use \. For opening curly bracket {, use one extra, like {{. For closing curly bracket }, use one extra, }}.
You can also use like this.
var outVal = $" foo {"{"}{inVal}{"}"} --- {"{"}Also Like This{"}"}"
Escaping Brackets: String Interpolation $(""):
Now, you can also use C# string interpolation like this (feature available in C# 6.0):
var inVal = "1, 2, 3";
var outVal = $" foo {{{inVal}}}";
// The output will be: foo {1, 2, 3}