我正在使用C#创建一个小应用程序。我需要以递归方式命名文件,在创建文件名时递增它们。我需要一个文件名,格式如下:“alt-001.tmp”“alt-002.tmp”等等。我总是在增加的数字之前看到00被删除,所以例如,001 ++然后返回2而不是002。
感谢您的帮助,如果这听起来像是一个愚蠢的问题,请抱歉。
答案 0 :(得分:6)
使用此选项将数字格式化为字符串:
fileName = string.format("alt-{0:000}.tmp", yourCounterVariable);
string format命令用那里的变量替换“{0}”。然后列之后的值是关于如何格式化替换的掩码。
答案 1 :(得分:3)
您需要在计数器上使用ToString()
并使用格式字符串。
var a = 0;
(a++).ToString("000").Dump();
(a++).ToString("000").Dump();
这将为您输出3位数。
结果: 001 002
答案 2 :(得分:1)
像这个点头的例子?
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));
}