Этот код:
Something = new Guid()
возвращается:
00000000-0000-0000-0000-000000000000
все время, и я не могу сказать почему? Итак, почему?
Ответы:
Вы должны использовать Guid.NewGuid()
Просто краткое объяснение того, почему вам нужно вызывать NewGuid, а не использовать конструктор по умолчанию ... В .NET все структуры (типы значений, такие как int, decimal, Guid, DateTime и т.д.) должны иметь конструктор без параметров по умолчанию, который инициализирует все значения полей по умолчанию. В случае Guid все байты, составляющие Guid, равны нулю. Вместо того, чтобы делать особый случай для Guid или делать его классом, они используют метод NewGuid для генерации нового «случайного» Guid.
Оно в System.Guid.
Чтобы динамически создать GUID в коде:
Guid messageId = System.Guid.NewGuid();
Чтобы увидеть его значение:
string x = messageId.ToString();