Форматирование строки с помощью string.Format ("{0:00}" - PullRequest
23 голосов
/ 15 июня 2011

Я только что взял некоторый код и вижу, что он часто используется. Кажется, он берет целое число и создает строку, похожую на «01», «02» и т. Д.

В чем я не уверен, так это в используемом здесь соглашении. Почему формат {0:00}, а не {00}?

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

Ответы [ 3 ]

43 голосов
/ 15 июня 2011

Первый 0 является заполнителем, означает первый параметр.00 - это фактический формат.

Например, это может быть так:

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

result будет 05 - 06.Таким образом, первый 0 означает, что принимается первый параметр 5, а 1 означает, что он принимает параметр 6.

Формат: {index[,length][:formatString]}.Взгляните на String.Format Method .

4 голосов
/ 15 июня 2011

Первая 0 в следующей строке предназначена для индекса вашего аргумента.

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

(int.Parse(testVal) + 1).ToString ("00") приведет к тому жеэто:

string.Format("{0:00} + 1 = {1:00}", int.Parse(testVal), int.Parse(testVal) + 1); 
3 голосов
/ 15 июня 2011

Ведущий 0 в строке формата {0:00} указывает индекс этой спецификации форматера.Документация MSDN для String.Format говорит об индексе ...

index: Позиция с нуля в списке параметровобъект для форматирования.

...