#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()
это метод из LINQPad2. Я использовал 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));
}