Jak korzystać z Guidów w C #?


Odpowiedzi:



61

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.


12

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();

Tak, powinien tam być ( msdn.microsoft.com/en-us/library/system.guid_members.aspx ), ale nie mogę go używać. Czemu?
Ante

„Nie mogę tego użyć” - co się stanie, gdy spróbujesz go użyć? Wpisz go ręcznie (być może jest problem z Twoim inteligencją) i spróbuj skompilować - czy otrzymujesz błędy kompilacji?
Matt Brindley

Co masz na myśli, mówiąc, że „nie możesz tego użyć”? Jeśli wpiszesz Guid x = System.Guid.NewGuid () i skompilujesz, czy pojawi się błąd? A może nie podoba ci się wartość, którą otrzymujesz za x?
DOK

LOL tak, że algorytm Guid czasami wymaga ponownego uruchomienia. Westchnienie.
Josh,

4

something = new Guid()równa się something = Guid.Empty.

Użyj Guid.NewGuid();zamiast tego


3
 Guid g1 = Guid.NewGuid();

 string s1;
 s1 = g1.ToString();
 Console.WriteLine("{0}",s1);
 Console.ReadKey();
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.