Как использовать Guids в C #?


Ответы:



61

Просто краткое объяснение того, почему вам нужно вызывать NewGuid, а не использовать конструктор по умолчанию ... В .NET все структуры (типы значений, такие как int, decimal, Guid, DateTime и т.д.) должны иметь конструктор без параметров по умолчанию, который инициализирует все значения полей по умолчанию. В случае Guid все байты, составляющие Guid, равны нулю. Вместо того, чтобы делать особый случай для Guid или делать его классом, они используют метод NewGuid для генерации нового «случайного» Guid.


12

Оно в System.Guid.

Чтобы динамически создать GUID в коде:

Guid messageId = System.Guid.NewGuid();

Чтобы увидеть его значение:

string x = messageId.ToString();

Да, он должен быть там ( msdn.microsoft.com/en-us/library/system.guid_members.aspx ), но я не могу его использовать. Зачем?
Ante

«Я не могу его использовать» - что происходит, когда вы пытаетесь его использовать? Введите его вручную (возможно, возникла проблема с вашим intellisense) и попробуйте скомпилировать - вы получаете ошибки компиляции?
Мэтт Бриндли,

Что вы имеете в виду, когда говорите «не можете его использовать»? Если вы наберете Guid x = System.Guid.NewGuid () и скомпилируете, вы получите сообщение об ошибке? Или вам не нравится значение, которое вы получаете для x?
DOK

LOL да, этот алгоритм Guid иногда нуждается в новой перезагрузке. Вздох.
Джош


3
 Guid g1 = Guid.NewGuid();

 string s1;
 s1 = g1.ToString();
 Console.WriteLine("{0}",s1);
 Console.ReadKey();
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.