如何将文件重命名为C#中的傻瓜证明的唯一名称?

Sin*_*lax 2 .net c# file-io

我的应用程序需要将全天数千个文件复制/移动到目录中.我需要确保当我复制这些文件时,我将它们重命名为该目录唯一的东西.

除了他们显然必须具有独特性之外,我对这些名称没有要求.

处理这个问题的正确方法是什么?我应该使用某种GUID,一些递增的数字还是其他一些方法?

我怎么用C#做这个?

Tho*_*que 11

您可以使用Path.GetRandomFileName

但是我不认为生成的文件名是唯一的(它们是使用RNGCryptoServiceProvider生成的),所以GUID可能是个更好的主意

  • 所以只需将它包装成File.Exists()循环以确保该文件不存在,如果不存在,则创建它? (3认同)

Dav*_*vid 6

我倾向于使用

System.Guid.NewGuid().ToString() + ".jpg"
Run Code Online (Sandbox Code Playgroud)

当唯一的要求是绝对要求保证它们是唯一的.

当然,这已经是你的一个想法,所以首先要考虑它.