Ten kod:
Something = new Guid()
powraca:
00000000-0000-0000-0000-000000000000
cały czas i nie potrafię powiedzieć dlaczego? Więc dlaczego?
Odpowiedzi:
Tylko krótkie wyjaśnienie, dlaczego musisz wywołać NewGuid, a nie używać domyślnego konstruktora ... W .NET wszystkie struktury (typy wartości, takie jak int, decimal, Guid, DateTime itp.) Muszą mieć domyślny konstruktor bez parametrów, który inicjuje wszystkie pola do ich wartości domyślnych. W przypadku Guid wszystkie bajty tworzące Guid mają wartość zero. Zamiast tworzyć specjalny przypadek dla Guid lub uczynić go klasą, używają metody NewGuid do wygenerowania nowego „losowego” Guid.
To jest w System.Guid.
Aby dynamicznie utworzyć identyfikator GUID w kodzie:
Guid messageId = System.Guid.NewGuid();
Aby zobaczyć jego wartość:
string x = messageId.ToString();