Si la lisibilité n'est pas importante, utilisez GUIDs.
Par exemple :
var monNomUniqueDeFichier = string.Format(@"{0}.txt", Guid.NewGuid());
ou plus court :
var monNomUniqueDeFichier = $@"{Guid.NewGuid()}.txt";
Dans mes programmes, j'essaie parfois par exemple 10 fois de générer un nom lisible ("Image1.png"…"Image10.png") et si cela échoue (parce que le fichier existe déjà), je reviens aux GUIDs.
Mise à jour :
Récemment, j'utilise également DateTime.Now.Ticks
au lieu de GUIDs :
var monNomUniqueDeFichier = string.Format(@"{0}.txt", DateTime.Now.Ticks);
ou
var monNomUniqueDeFichier = $@"{DateTime.Now.Ticks}.txt";
L'avantage pour moi est que cela génère un nom de fichier plus court et plus "agréable à regarder" par rapport aux GUIDs.
Veuillez noter que dans certains cas (par exemple lorsque vous générez beaucoup de noms aléatoires en très peu de temps), cela peut générer des valeurs non uniques.
Stick to GUIDs if you want to make really sure that the file names are unique, even when transferring them to other computers.
0 votes
Cela dépend des autres exigences; cette [ancienne] question était / est trop vague.