Форматирование строки с помощью string.Format( "{0:00}"
Я только что взял какой-то код, и я вижу, что это очень много. Кажется, что он принимает целое число и создает строку, похожую на "01", "02" и т.д.
То, что я не уверен, - это конвенция, используемая здесь. Почему формат {0:00}
, а не {00}
?
string.Format("{0:00}", int.Parse(testVal) + 1);
Ответы
Ответ 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: позиция с нулевым положением в списке параметров объекта, который будет отформатирован.