Я хотел бы создать метод, который принимает либо имя файла как 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.
}