C #: Как бы вы сделали уникальное имя файла, добавив число?

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

Ответы на вопрос(17)

Ваш ответ на вопрос