1122 votes

Comment échapper à bretelles (accolades) dans une chaîne de format dans .NET

Comment peut-on supports être échappés en utilisant `` . Par exemple :

Cet exemple ne lève pas d’exception, mais les sorties de la chaîne``

Y a-t-il un moyen d’échapper les supports ?

1423voto

smink Points 39640

Pour vous en sortie `` que vous devez faire quelque chose comme :

À la sortie un vous utilisez et à sortie une vous utilisez .

224voto

Guru Kara Points 2438

Oui pour la sortie { en string.Format vous avez à s'échapper de cette {{

Donc, ce

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

sortie "foo {1,2,3}".

MAIS vous devez savoir au sujet d'un bug de conception en C# c'est qu'en allant sur la logique ci-dessus, on pourrait supposer en dessous de ce code affichera {24.00}

int i = 24;
string str = String.Format("{{{0:N}}}", i); //gives '{N}' instead of {24.00}

Mais cela s'imprime {N}. C'est parce que la façon dont C# analyse des séquences d'échappement et le format des caractères. Pour obtenir la valeur souhaitée dans le cas ci-dessus, vous devez utiliser ce lieu.

String.Format("{0}{1:N}{2}", "{", i, "}") //evaluates to {24.00}

Articles De Référence Chaîne de caractères.Format gottachet Mise en forme de chaîne FAQ

80voto

Wolfwyrd Points 7142

On y est presque ! La séquence d’échappement pour un contreventement est ou donc pour votre exemple, vous utiliseriez :

24voto

elec Points 121

Vous pouvez utiliser des doubles crochets ouverts et double les crochets de fermeture qui ne montrera un support sur votre page.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X