2014-03-25 5 views
9

고유 한 폴더 이름을 생성해야합니다. Path.GetRandomFileName을 사용해야합니까 아니면 Guid.NewGuid을 사용해야합니까?Path.GetRandomFileName을 사용해야합니까, 아니면 Guid를 사용해야합니까?

GUID는 전 세계적으로 고유하다고 말하면 GetRandomFileName은 그러한 주장을하지 않습니다.

+4

가이드는 고유합니다. GetRandomFileName은 이름 충돌의 1E17 확률보다 1 높은 확률을 가진 유성에 의해 파괴되는 기계에 따라 다릅니다. 오리! 링크에 따라 –

답변

7

둘 다 똑같이 랜덤하다고 생각하면 Path.GetRandomFileName은 8.3 파일 이름 (총 11 자)을 생성하므로 Guid.NewGuid에서 생성되는 것보다 작은 고유 이름 집합을 갖게됩니다.

+0

(http://social.msdn.microsoft.com/Forums/vstudio/en-US/180b65dd-4c1d-4f2d-b02f-117db7afa7d9/why-use-pathgetrandomfilename-instead-of-guidnewguidtostring?forum= netfxbcl) 길이는 11 문자입니다. – Mzf

+1

@Mzf : msdn의 예제는'w143kxnu.idj'를 반환하므로 8.3 형식의 11 개의 임의 문자가 반환됩니다. 유용한 링크 비록 – NoviceProgrammer

+0

GetRandomFileName 기본 (및 총 출력 공간)을 지정하지 않은 이유는 무엇인가 궁금합니다. 그러나 *가 * 지정되어 있으면 GetRandomFileName은 "암호 적으로 강력합니다", UUIDv4/GUID에는 그러한 클레임이 없었습니다. – user2864740

관련 문제