我需要生成一个唯一的临时文件.csv扩展.
我现在做的是
string filepath = System.IO.Path.GetTempFileName().Replace(".tmp", ".csv");
然而,这并不能保证我的.csv文件将是唯一的.
我知道我碰过的几率很低(特别是如果你认为我不删除.tMP文件),但是这个代码对我来说不太好.
当然,我可以手动生成随机文件名,直到我最终找到唯一的文件名(这应该不是问题),但我很想知道其他人是否找到了处理此问题的好方法.
我需要生成一个唯一的临时文件.csv扩展.
我现在做的是
string filepath = System.IO.Path.GetTempFileName().Replace(".tmp", ".csv");
然而,这并不能保证我的.csv文件将是唯一的.
我知道我碰过的几率很低(特别是如果你认为我不删除.tMP文件),但是这个代码对我来说不太好.
当然,我可以手动生成随机文件名,直到我最终找到唯一的文件名(这应该不是问题),但我很想知道其他人是否找到了处理此问题的好方法.
保证(统计上)独一无二:
string fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".csv";
(引用维基上关于碰撞概率的文章:
...一个人的年度风险是被
编辑:另请参阅JaredPar的 comments .