Qual è il valore predefinito per Guid?


106

Il valore predefinito per intè 0, perché stringè "" e booleanperché è falso. Qualcuno potrebbe chiarire qual è il valore predefinito guid?


24
l'impostazione predefinita Guid è {00000000-0000-0000-0000-000000000000}. Sono fondamentalmente zeri binari.
Szer


1
Questo sito Web può fornire guide vuote 00000000-0000-0000-0000-000000000000.com
Matthew

Come nota a margine: il valore predefinito delle stringhe è null, non "" (;
Johan Wintgens

Risposte:


118

È possibile utilizzare questi metodi per ottenere un guid vuoto. Il risultato sarà un guid con tutte le sue cifre che sono 0 - " 00000000-0000-0000-0000-000000000000".

new Guid()

default(Guid)

Guid.Empty

42

Puoi usare Guid.Empty. È un'istanza di sola lettura della struttura Guid con il valore di00000000-0000-0000-0000-000000000000

puoi anche usare questi invece

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

attenzione a non usarlo Guid.NewGuid()perché genererà un nuovo Guid.

usa una delle opzioni sopra le quali tu e il tuo team ritenete che sia più leggibile e rispettatela. Non mischiare opzioni diverse nel codice. Penso che Guid.Emptysia il migliore poiché new Guid()potrebbe farci pensare che stia generando una nuova guida e alcuni potrebbero non sapere qual è il valore di default(Guid).


19

Il valore predefinito per un GUID è vuoto. (ad esempio: 00000000-0000-0000-0000-000000000000)

Questo può essere richiamato usando Guid.Empty()onew Guid()

Se vuoi un nuovo GUID, usa Guid.NewGuid()


8
@anchor ho notato che non hai mai accettato nessuna risposta alle tue domande. Qui - nelle FAQ di StackExchange puoi leggere come accettare una risposta e perché dovresti farlo.
Genhis,

1
@Genhis penso che abbia ottenuto ciò di cui aveva bisogno e poi è caduto dalla faccia della terra haha
David Watts,

10

Per estendere le risposte precedenti, non è possibile utilizzare il valore predefinito di Guid con Guid.Emptycome argomento facoltativo nella definizione di metodo, indicizzatore o delegato, perché ti darà un errore in fase di compilazione. Usa default(Guid)o new Guid()invece.


-1

Creare una guida vuota o una nuova guida usando una classe ...

Il valore predefinito di Guid è 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...
        }

sì ... puoi impostare il valore della classe come valore statico ... o usarlo in classe ..
Akhilesh Singh

So che possiamo usare Guid come possiamo usare qualsiasi altro tipo in C #. La mia domanda era se la tua risposta conteneva nuove informazioni che prima non c'erano. Sembra che tutte le informazioni che hai pubblicato siano già state pubblicate da molte altre persone anni fa.
nvoigt

sì ... hai ragione ... dico che ... puoi usare guid vuoto e nuovo guid usando una classe ... quel tipo di risposta non è presente ... in questa domanda ...
Akhilesh Singh
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.