Wie verwende ich Guids in C #?


Antworten:



61

Nur eine kurze Erklärung, warum Sie NewGuid aufrufen müssen, anstatt den Standardkonstruktor zu verwenden ... In .NET müssen alle Strukturen (Werttypen wie int, decimal, Guid, DateTime usw.) einen standardmäßigen parameterlosen Konstruktor haben, der alle initialisiert die Felder auf ihren Standardwert. Im Fall von Guid sind die Bytes, aus denen die Guid besteht, alle Null. Anstatt einen Sonderfall für Guid oder eine Klasse zu erstellen, verwenden sie die NewGuid-Methode, um eine neue "zufällige" Guid zu generieren.


12

Es ist in System.Guid.

So erstellen Sie dynamisch eine GUID im Code:

Guid messageId = System.Guid.NewGuid();

Um seinen Wert zu sehen:

string x = messageId.ToString();

Ja, es sollte vorhanden sein ( msdn.microsoft.com/en-us/library/system.guid_members.aspx ), aber ich kann es nicht verwenden. Warum?
Ante

"Ich kann es nicht benutzen" - was passiert, wenn Sie versuchen, es zu benutzen? Geben Sie es manuell ein (möglicherweise liegt ein Problem mit Ihrem Intellisense vor) und versuchen Sie zu kompilieren. Erhalten Sie Kompilierungsfehler?
Matt Brindley

Was meinst du, wenn du sagst, dass du es nicht benutzen kannst? Wenn Sie Guid x = System.Guid.NewGuid () eingeben und kompilieren, erhalten Sie eine Fehlermeldung? Oder gefällt Ihnen der Wert, den Sie für x erhalten, nicht?
DOK

LOL ja, dass der Guid-Algorithmus manchmal einen neuen Neustart benötigt. Seufzer.
Josh

4

something = new Guid()gleich something = Guid.Empty.

Verwenden Sie Guid.NewGuid();stattdessen


3
 Guid g1 = Guid.NewGuid();

 string s1;
 s1 = g1.ToString();
 Console.WriteLine("{0}",s1);
 Console.ReadKey();
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.