Я понимаю, что на этот вопрос уже есть принятый ответ, но я подумал, что было бы полезно поделиться некоторой информацией о руководствах по форматированию.
Метод ToString () (без параметров) форматирует направляющую, используя этот формат:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Метод ToString (строковый формат) форматирует guid одним из нескольких способов:
"N" - xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (32 digits)
"D" - xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (32 digits separated by hyphens)
"B" - {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} (same as "D" with addition of braces)
"P" - (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) (same as "D" with addition of parentheses)
"X" - {0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}
Вызов Guid.ToString("D")
дает тот же результат, что и вызов Guid.ToString()
.
Как уже упоминалось в других ответах, само руководство не имеет формата. Это просто ценность. Обратите внимание, что вы можете создавать направляющие, используя NewGuid или конструктор guid. Используя NewGuid, вы не можете контролировать значение guid. Используя конструктор guid, вы можете контролировать значение. Использование конструктора полезно, если у вас уже есть строковое представление guid (может быть, вы читаете его из базы данных) или если вы хотите упростить интерпретацию guid во время разработки. Вы также можете использовать методы Parse , ParseExact , TryParse и TryParseExact .
Итак, вы можете создавать направляющие следующим образом:
Guid g1 = Guid.NewGuid(); //Get a Guid without any control over the contents
Guid g2 = new Guid(new string('A',32)); //Get a Guid where all digits == 'A'
Guid g3 = Guid.Parse(g1.ToString());
Guid g4 = Guid.ParseExact(g1.ToString("D"),"D");
Guid g5;
bool b1 = Guid.TryParse(g1.ToString(), out g5);
Guid g6;
bool b2 = Guid.TryParseExact(g1.ToString("D"),"D", out g6);