web-dev-qa-db-fra.com

Formatage d'une chaîne avec string.Format ("{0:00}"

Je viens de reprendre un peu de code et je vois que cela a beaucoup utilisé. Il semble prendre l'entier et créer une chaîne ressemblant à "01", "02" etc.

Ce dont je ne suis pas sûr, c'est de la convention utilisée ici. Pourquoi le format {0:00} et pas {00}?

string.Format("{0:00}", int.Parse(testVal) + 1);
23
David H

La première 0 est l'espace réservé, signifie le premier paramètre. 00 est un format réel.

Par exemple, cela pourrait être comme ceci:

var result = string.Format("{0:00} - {1:00}", 5, 6);

result sera 05 - 06. Ainsi, le premier 0 signifie que le premier paramètre 5 est pris, tandis que 1 signifie le paramètre 6.

Le format est {index[,length][:formatString]}. Jetez un oeil à String.Format méthode .

43
Alex Aza

La première 0 dans la ligne suivante est pour l'index de votre argument

string.Format("{0:00}", int.Parse(testVal) + 1); 

(int.Parse(testVal) + 1).ToString ("00") donnera la même chose.

string.Format prend en charge plusieurs substitutions comme celle-ci:

string.Format("{0:00} + 1 = {1:00}", int.Parse(testVal), int.Parse(testVal) + 1); 
4
agent-j

Le premier 0 dans la chaîne de format {0:00} indique l'index de cette spécification de formateur. La documentation MSDN pour String.Format a ceci à dire sur l'index ...

index: La position de base zéro dans la liste des paramètres de l'objet à formater.

3
Anthony Mastrean