Именование файлов на C # С Увеличенным именем 001

#c# #file #naming

#c# #файл #именование

Вопрос:

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

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

Комментарии:

1. было бы неплохо привести несколько примеров кода и игрушечный пример, чтобы люди увидели, что вы попробовали. Это даст вам больше отклика.

Ответ №1:

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

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

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

Ответ №2:

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

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

Для вас это будет означать 3 цифры.

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

Комментарии:

1. Не все знают, что Dump() это метод из LINQPad

2. Я использовал linqpad для тестирования этого, чтобы вы могли удалить .Dump() и заменить на Console. Строка записи (…)

Ответ №3:

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

 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));
}