Подтвердить что ты не робот

Форматирование строки с помощью string.Format( "{0:00}"

Я только что взял какой-то код, и я вижу, что это очень много. Кажется, что он принимает целое число и создает строку, похожую на "01", "02" и т.д.

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

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

Ответ 1

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

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

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

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

Формат {index[,length][:formatString]}. Посмотрите метод String.Format.

Ответ 2

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

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

(int.Parse(testVal) + 1).ToString ("00") даст то же самое.

string.Format поддерживает несколько подстановок, подобных этому:

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

Ответ 3

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

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