@Ante: если у вас есть класс Guid, то у вас есть метод NewGuid.
Guffa
61
Просто краткое объяснение того, почему вам нужно вызывать NewGuid, а не использовать конструктор по умолчанию ... В .NET все структуры (типы значений, такие как int, decimal, Guid, DateTime и т.д.) должны иметь конструктор без параметров по умолчанию, который инициализирует все значения полей по умолчанию. В случае Guid все байты, составляющие Guid, равны нулю. Вместо того, чтобы делать особый случай для Guid или делать его классом, они используют метод NewGuid для генерации нового «случайного» Guid.
«Я не могу его использовать» - что происходит, когда вы пытаетесь его использовать? Введите его вручную (возможно, возникла проблема с вашим intellisense) и попробуйте скомпилировать - вы получаете ошибки компиляции?
Мэтт Бриндли,
Что вы имеете в виду, когда говорите «не можете его использовать»? Если вы наберете Guid x = System.Guid.NewGuid () и скомпилируете, вы получите сообщение об ошибке? Или вам не нравится значение, которое вы получаете для x?
DOK
LOL да, этот алгоритм Guid иногда нуждается в новой перезагрузке. Вздох.
Джош
4
something = new Guid()равно something = Guid.Empty.
Ответы:
Вы должны использовать
Guid.NewGuid()
источник
Просто краткое объяснение того, почему вам нужно вызывать NewGuid, а не использовать конструктор по умолчанию ... В .NET все структуры (типы значений, такие как int, decimal, Guid, DateTime и т.д.) должны иметь конструктор без параметров по умолчанию, который инициализирует все значения полей по умолчанию. В случае Guid все байты, составляющие Guid, равны нулю. Вместо того, чтобы делать особый случай для Guid или делать его классом, они используют метод NewGuid для генерации нового «случайного» Guid.
источник
Оно в
System.Guid.
Чтобы динамически создать GUID в коде:
Чтобы увидеть его значение:
string x = messageId.ToString();
источник
something = new Guid()
равноsomething = Guid.Empty
.Используйте
Guid.NewGuid();
вместоисточник
Guid g1 = Guid.NewGuid(); string s1; s1 = g1.ToString(); Console.WriteLine("{0}",s1); Console.ReadKey();
источник