我有一些代码

 if (System.IO.File.Exists(newFilePath))
 {
    string suffix = (DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond).ToString();
    newFilePath += suffix;

但我意识到这是不正确的,因为我真正想做的是在文件名的扩展部分之前加上后缀(如果有的话)。
例子:
C://somefolder/someotherfolder/somepic.jpg  ---> C://somefolder/someotherfolder/somepic0123913123194.jpg

有没有一种单行本的方法可以做到这一点,而不是我花时间从lastIndexOfInsert等处处理一个过程。

最佳答案

简单的一行是:

newFilePath = String.Format("{0}{1}{2}",
                            Path.GetFileNameWithoutExtension(newFilePath),
                            suffix,
                            Path.GetExtension(newFilePath));

编辑:或者也要保留目录:
newFilePath = String.Format("{0}{1}{2}{3}",
                            Path.GetDirectoryName(newFilePath),
                            Path.GetFileNameWithoutExtension(newFilePath),
                            suffix,
                            Path.GetExtension(newFilePath));

10-05 19:57