Was ist der Standardwert für Guid?


104

Der Standardwert für intist 0, für stringist "" und für booleanist falsch. Könnte jemand bitte klären, wofür der Standardwert guidist?


24
Standard Guid ist {00000000-0000-0000-0000-000000000000}. Es sind im Grunde binäre Nullen.
Szer


1
Diese Website kann leere Guids liefern 00000000-0000-0000-0000-000000000000.com
Matthew

Als Randnotiz: Der Standardwert von Strings ist null, nicht "" (;
Johan Wintgens

Antworten:


117

Mit diesen Methoden können Sie eine leere Guid erhalten. Das Ergebnis ist eine Richtlinie, bei der alle Ziffern Nullen sind - " 00000000-0000-0000-0000-000000000000".

new Guid()

default(Guid)

Guid.Empty

42

Sie können verwenden Guid.Empty. Es ist eine schreibgeschützte Instanz der Guid-Struktur mit dem Wert von00000000-0000-0000-0000-000000000000

Sie können diese stattdessen auch verwenden

var g = new Guid();
var g = default(Guid);

Achten Sie darauf, nicht zu verwenden, Guid.NewGuid()da dadurch eine neue Guid generiert wird.

Verwenden Sie eine der Optionen, über die Sie und Ihr Team sie für besser lesbar halten, und halten Sie sich daran. Mischen Sie nicht verschiedene Optionen im Code. Ich denke, das Guid.Emptyist das Beste, da new Guid()es uns denken lässt, dass es einen neuen Leitfaden generiert, und einige wissen möglicherweise nicht, welchen Wert es hat default(Guid).


19

Der Standardwert für eine GUID ist leer. (zB: 00000000-0000-0000-0000-000000000000)

Dies kann mit Guid.Empty()oder aufgerufen werdennew Guid()

Wenn Sie eine neue GUID möchten, verwenden Sie Guid.NewGuid()


8
@anchor Mir ist aufgefallen, dass Sie keine Antwort auf Ihre Fragen akzeptiert haben. Hier - in den FAQ von StackExchange können Sie lesen, wie Sie eine Antwort akzeptieren können und warum Sie das tun sollten.
Genhis

1
@Genhis Ich denke, er hat bekommen, was er brauchte und ist dann vom Erdboden gefallen haha
David Watts

10

Um die obigen Antworten zu erweitern, können Sie den Guid-Standardwert nicht Guid.Emptyals optionales Argument in der Definition von Methoden, Indexern oder Delegaten verwenden, da dies zu Fehlern bei der Kompilierung führt. Verwenden Sie default(Guid)oder new Guid()stattdessen.


-1

Erstellen Sie eine leere Anleitung oder eine neue Anleitung mithilfe einer Klasse ...

Der Standardwert von Guid ist 00000000-0000-0000-0000-000000000000

public class clsGuid  ---This is class Name
{
    public Guid MyGuid { get; set; }
}

static void Main(string[] args)
        {
            clsGuid cs = new clsGuid();   
            Console.WriteLine(cs.MyGuid); --this will give empty Guid  "00000000-0000-0000-0000-000000000000"

            cs.MyGuid = new Guid();
            Console.WriteLine(cs.MyGuid); ----this will also give empty Guid  "00000000-0000-0000-0000-000000000000"

            cs.MyGuid = Guid.NewGuid();
            Console.WriteLine(cs.MyGuid); --this way, it will give new guid  "d94828f8-7fa0-4dd0-bf91-49d81d5646af"

            Console.ReadKey(); --this line holding the output screen in console application...
        }

Ja ... Sie können den Klassenwert als statischen Wert festlegen ... oder in der Klasse verwenden.
Akhilesh Singh

Ich weiß, dass wir Guid verwenden können, da wir jeden anderen Typ in C # verwenden können. Meine Frage war, ob Ihre Antwort neue Informationen enthält, die vorher nicht hier waren. Es scheint, dass alle Informationen, die Sie gepostet haben, bereits vor Jahren von mehreren anderen Personen gepostet wurden.
nvoigt

Ja ... du hast Recht ... ich sage, dass ... du leere Guid und neue Guid mit einer Klasse verwenden kannst ... diese Art von Antwort ist nicht vorhanden ... in dieser Frage ...
Akhilesh Singh
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.