C #: Wie würden Sie einen eindeutigen Dateinamen erstellen, indem Sie eine Zahl hinzufügen?

Ich möchte eine Methode erstellen, die entweder einen Dateinamen alsstring oder einFileInfo und fügt dem Dateinamen eine inkrementelle Zahl hinzu, falls die Datei existiert. Aber ich kann mich nicht ganz darum kümmern, wie das auf eine gute Art und Weise geht.

Zum Beispiel, wenn ich diese FileInfo habe

var file = new FileInfo(@"C:\file.ext");

Ich möchte, dass die Methode mir eine neue FileInfo mitgibtC: \ Datei 1.ext obC: \ file.ext existierte undC: \ file 2.ext obC: \ Datei 1.ext existierte und so weiter. Etwas wie das:

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.
}

Antworten auf die Frage(17)

Ihre Antwort auf die Frage