Я хотел бы создать метод, который принимает имя файла как string
или FileInfo
и добавляет к имени файла увеличенное число, если файл существует. Но никак не могу понять, как это сделать по-хорошему.
Например, если у меня есть эта FileInfo
var file = new FileInfo(@"C:\file.ext");
Я хотел бы, чтобы метод предоставил мне новую FileInfo с C:\file 1.ext, если C:\file.ext существовал, и C:\file 2.ext, если существует C:\file 1.ext и т.д. Что-то вроде этого:
public FileInfo MakeUnique(FileInfo fileInfo)
{
if(fileInfo == null)
throw new ArgumentNullException("fileInfo");
if(!fileInfo.Exists)
return fileInfo;
// Somehow construct new filename from the one we have, test it,
// then do it again if necessary.
}