Цей код:
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();
something = new Guid()
дорівнює something = Guid.Empty
.
Використовуйте Guid.NewGuid();
замість цього