DEV Community


.NET GUID Formats

Joe Enos
Software developer/architect, mostly working with .NET and SQL Server.
・1 min read

GUIDs (aka UUIDs) are 128-bit moderately random numbers that make great identifiers when you're looking for something a little more random than incrementing integers. In .NET, you get several built-in format strings.

// 00000000-0000-0000-0000-000000000000
Guid.NewGuid().ToString()    // Default

// 00000000-0000-0000-0000-000000000000
Guid.NewGuid().ToString("D") // "D"efault

// 00000000000000000000000000000000
Guid.NewGuid().ToString("N") // "N"o formatting

// {00000000-0000-0000-0000-000000000000}
Guid.NewGuid().ToString("B") // "B"races

// (00000000-0000-0000-0000-000000000000)
Guid.NewGuid().ToString("P") // "P"arentheses

// {0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}
Guid.NewGuid().ToString("X") // "X"-tremely confusing
Enter fullscreen mode Exit fullscreen mode

I generally use the "N" format, since it doesn't waste any space, and GUIDs are used by machines, not people, so readability isn't super important. However, the other ones are there if you need them.

I've never been able to find any explanation for what the "X" format is for. If you know, please comment - it's driven me nuts for decades now.

Discussion (1)

ahmedabdelrazek profile image
Ahmed Mohamed Abdel-Razek

"X"-tremely confusing lamo