89 Stimmen

Wie verwendet man Guids in C#?

Dieser Code:

Something = new Guid() 

kehrt zurück:

00000000-0000-0000-0000-000000000000

die ganze Zeit und ich kann nicht sagen, warum? Also, warum?

0 Stimmen

Mögliches Duplikat von C# wie man einen Guid-Wert erstellen?

149voto

Will Dean Punkte 38365

Sie sollten Folgendes verwenden Guid.NewGuid()

1 Stimmen

@Ante: Wenn Sie die Klasse Guid haben, dann haben Sie die Methode NewGuid.

61voto

Josh Punkte 66190

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 parameterlosen Standardkonstruktor haben, der alle Felder auf ihren Standardwert initialisiert. Im Fall von Guid sind die Bytes, aus denen der Guid besteht, alle Null. Anstatt einen speziellen Fall für Guid zu schaffen oder es zu einer Klasse zu machen, verwenden sie die NewGuid-Methode, um eine neue "zufällige" Guid zu erzeugen.

12voto

DOK Punkte 31893

Es ist in System.Guid.

Um eine GUID dynamisch im Code zu erstellen:

Guid messageId = System.Guid.NewGuid();

Um seinen Wert zu erkennen:

string x = messageId.ToString();

0 Stimmen

Ja, sie sollte dort sein ( msdn.microsoft.com/de-us/library/system.guid_members.aspx ), aber ich kann sie nicht benutzen. Warum?

0 Stimmen

"Ich kann es nicht benutzen" - was passiert, wenn Sie versuchen, es zu benutzen? Geben Sie es manuell ein (vielleicht gibt es ein Problem mit Ihrer Intellisense) und versuchen Sie zu kompilieren - erhalten Sie Kompilierungsfehler?

0 Stimmen

Was meinen Sie, wenn Sie sagen, dass Sie es "nicht verwenden können"? Wenn Sie Guid x = System.Guid.NewGuid() eingeben und kompilieren, erhalten Sie einen Fehler? Oder gefällt Ihnen der Wert, den Sie für x erhalten, nicht?

4voto

Will Yu Punkte 526

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

Verwenden Sie Guid.NewGuid(); stattdessen

3voto

Leo Punkte 389
 Guid g1 = Guid.NewGuid();

 string s1;
 s1 = g1.ToString();
 Console.WriteLine("{0}",s1);
 Console.ReadKey();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X