Jaka jest domyślna wartość Guid?

111

Wartością domyślną dla intjest 0, dla stringjest „”, a dla booleanniego jest fałszem. Czy ktoś mógłby wyjaśnić, jaka jest wartość domyślna guid?

Kotwica
źródło
26
wartość domyślna Guid to {00000000-0000-0000-0000-000000000000}. W zasadzie są to zera binarne.
Szer
1
Ta strona internetowa może dostarczyć puste prowadnice 00000000-0000-0000-0000-000000000000.com
Matthew
1
Na marginesie: domyślna wartość ciągów znaków to null, a nie „” (;
Johan Wintgens

Odpowiedzi:

122

Możesz użyć tych metod, aby uzyskać pusty identyfikator guid. Wynikiem będzie guid, którego wszystkie cyfry będą równe 0 - " 00000000-0000-0000-0000-000000000000".

new Guid()

default(Guid)

Guid.Empty
Peter Rasmussen
źródło
44

Możesz użyć Guid.Empty. Jest to instancja struktury Guid tylko do odczytu z wartością00000000-0000-0000-0000-000000000000

możesz też ich użyć zamiast tego

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

uważaj, aby nie używać, Guid.NewGuid()ponieważ wygeneruje nowy Guid.

Skorzystaj z jednej z powyższych opcji, która według Ciebie i Twojego zespołu jest bardziej czytelna i trzymaj się jej. Nie mieszaj różnych opcji w całym kodzie. Myślę, że Guid.Emptyjest najlepszy, ponieważ new Guid()może sprawić, że pomyślimy, że generuje nowy przewodnik, a niektórzy mogą nie wiedzieć, jaka jest wartość default(Guid).

Hamid Pourjam
źródło
20

Domyślna wartość identyfikatora GUID jest pusta. (np .: 00000000-0000-0000-0000-000000000000)

Można to wywołać za pomocą Guid.Empty()lubnew Guid()

Jeśli chcesz mieć nowy identyfikator GUID, użyj Guid.NewGuid()

David Watts
źródło
8
@anchor Zauważyłem, że nigdy nie zaakceptowałeś żadnej odpowiedzi na swoje pytania. Tutaj - w FAQ StackExchange możesz przeczytać, w jaki sposób możesz przyjąć odpowiedź i dlaczego powinieneś to zrobić.
Genhis
1
@Genhis Myślę, że dostał to, czego potrzebował, a następnie spadł z powierzchni ziemi haha
David Watts,
10

Aby rozszerzyć powyższe odpowiedzi, nie możesz użyć wartości domyślnej Guid Guid.Emptyjako opcjonalnego argumentu w metodzie, indeksatorze lub definicji delegata, ponieważ spowoduje to błąd czasu kompilacji. Użyj default(Guid)lub new Guid()zamiast.

tinamou
źródło
-1

Utwórz Pustego Guid lub New Guid pomocą klasy ...

Domyślna wartość Guid to 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...
        }
Akhilesh Singh
źródło
tak ... możesz ustawić wartość klasy jako wartość statyczną ... lub użyć tego w klasie ...
Akhilesh Singh
Wiem, że możemy użyć Guid, ponieważ możemy użyć dowolnego innego typu w C #. Moje pytanie brzmiało, czy Twoja odpowiedź zawiera jakieś nowe informacje, których wcześniej nie było. Wygląda na to, że wszystkie informacje, które opublikowałeś, zostały już opublikowane przez wiele innych osób lata temu.
nvoigt
tak ... masz rację ... mówię, że ... możesz użyć pustego guid i nowego guid za pomocą klasy ... tego typu odpowiedzi nie ma ... w tym pytaniu ...
Akhilesh Singh