@Ante: Jeśli masz klasę Guid, masz metodę NewGuid.
Guffa
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.
„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.
Odpowiedzi:
Powinieneś użyć
Guid.NewGuid()
źródło
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.
źródło
To jest w
System.Guid.
Aby dynamicznie utworzyć identyfikator GUID w kodzie:
Aby zobaczyć jego wartość:
string x = messageId.ToString();
źródło
something = new Guid()
równa sięsomething = Guid.Empty
.Użyj
Guid.NewGuid();
zamiast tegoźródło
Guid g1 = Guid.NewGuid(); string s1; s1 = g1.ToString(); Console.WriteLine("{0}",s1); Console.ReadKey();
źródło