¿Cómo se pueden escapar los corchetes al usarlos string.Format?
Por ejemplo:
String val = "1,2,3"
String.Format(" foo {{0}}", val);
Este ejemplo no arroja una excepción, pero genera la cadena foo {0}.
¿Hay alguna forma de escapar de los corchetes?

Respuestas:
Para que salgas
foo {1, 2, 3}tienes que hacer algo como:Para emitir un
{uso{{y para generar un}uso}}.o Ahora, también puede usar la interpolación de cadenas de C # como esta (función disponible en C # 6.0)
Corchetes de escape: Interpolación de cadenas $ ("") . Es una nueva característica en C # 6.0
fuente
$"a = {{ {a} }}")string v = $" foo {{{t}}}";. Si tiene otros personajes para escapar que no son rizados, puede usar el combo $ @string v2 = $@"\foo {{{t}}}\";Sí a la salida
{en elstring.Formatque tiene que escapar de ella como esta{{Así que esto
es la salida
"foo {1,2,3}".PERO debe saber acerca de un error de diseño en C #, que es que al continuar con la lógica anterior, supondría que el siguiente código imprimirá {24.00}
Pero esto imprime {N}. Esto se debe a la forma en que C # analiza las secuencias de escape y los caracteres de formato. Para obtener el valor deseado en el caso anterior, debe usar esto en su lugar.
Artículos de referencia String.Format gottach y String Formatting FAQ
fuente
string.Format( "{{{0}}}", i.ToString("N") );que puede ser más legible para algunos.¡Casi ahí! La secuencia de escape para una llave es más
{{o}}menos para su ejemplo que usaría:fuente
Puede usar corchetes dobles abiertos y corchetes de cierre doble que solo mostrarán un corchete en su página.
fuente
Escapar de llaves y usar la interpolación de cuerdas es un desafío interesante. Debe usar corchetes cuádruples para escapar del análisis y la interpolación de cadenas
string.format.Corchetes de escape: Interpolación de cadenas $ ("") y String.Format
fuente
Vine aquí en busca de cómo construir cadenas json ad-hoc (sin serializar una clase / objeto) en C #. En otras palabras, cómo escapar de llaves y comillas mientras se usan cadenas interpoladas en C # y " literales de cadena textuales " (cadenas dobles entre comillas con el prefijo '@'), como ...
fuente
fuente
o puede usar la interpolación de cadena de C # de esta manera (función disponible en C # 6.0)
fuente
Corchetes de escape: Interpolación de cadenas $ (""):
Ahora, también puede usar la interpolación de cadenas de C # como esta (característica disponible en C # 6.0)
fuente
Mi objetivo:
Necesitaba asignar el valor
"{CR}{LF}"a unastringvariabledelimiter.Código c #:
Nota: Para escapar de caracteres especiales, normalmente tiene que usar. Para abrir el soporte rizado {, use uno adicional como {{. Para cerrar el corchete}, use un extra}}.
fuente