path.getrandomfilename每次都会生成一个唯一的文件名吗?

path.GetRandomFileName会每次生成一个唯一的文件名吗? 另外,Gettempfilename会生成一个唯一的名称吗?

在这两种情况下,简短的回答是肯定的。
实际上,它将生成11个随机字符,这意味着有(26 +10)^ 11个可能的名称(1.316217e + 17),因此创建相同名称两次的机会不存在,并且出于所有实际目的。

有关更多信息,我建议您阅读此内容

和相关的MSDN 页面

在我的系统上, Path.GetRandomFileName()返回8.3格式的短名称。

是否保证永远不会两次返回相同的名称? 不,你无法保证,就像你不能用于任何哈希算法一样。 只有有限数量的名称,所以最终你得到重复。

然而,由于Path.GetRandomFileName()使用RNGCryptoServiceProvider这是一个加密强大的随机数生成器, RNGCryptoServiceProvider它的可能性非常低。

总而言之,您不能以严格的方式保证它是独一无二的。 但重复的可能性非常低,所以你可以认为它是。