C # Именование файлов Увеличенное имя 001 ++ - PullRequest
2 голосов
/ 19 апреля 2011

Я использую C # для создания небольшого приложения.Мне нужно называть файлы рекурсивным образом, увеличивая имена файлов по мере их создания.Мне нужно имя файла в следующем формате: «alt-001.tmp», «alt-002.tmp» и так далее.Я всегда вижу, как 00 удаляется перед увеличенным числом, поэтому, например, 001 ++ затем возвращает 2, а не 002.

Спасибо за вашу помощь и извините, если это звучит глупо.

Ответы [ 3 ]

6 голосов
/ 19 апреля 2011

Используйте это для форматирования числа в виде строки:

fileName = string.format("alt-{0:000}.tmp", yourCounterVariable);

Команда форматирования строки заменяет "{0}" на переменную там.Тогда значения после столбца являются маской того, как должна быть отформатирована эта замена.

3 голосов
/ 19 апреля 2011

Вам нужно набрать ToString() на счетчике и использовать строку формата.

var a = 0;
(a++).ToString("000").Dump();
(a++).ToString("000").Dump();

Это выдаст вам 3 цифры.

Результаты: 001 002

1 голос
/ 19 апреля 2011

Что-то вроде этого примера?

int unique = 0;
string destPath = string.Format("alt-{0:000}.tmp", unique);
while (File.Exists(destPath))
{
     unique++;
     destPath = Path.Combine(easyPath, string.Concat(baseName, " ", unique.ToString("00", CultureInfo.InvariantCulture), file.Extension));
}
...