Quelle est la valeur par défaut de Guid?

107

La valeur par défaut pour intest 0, pour stringest "" et pour booleanelle est fausse. Quelqu'un pourrait-il clarifier la valeur par défaut guid?

ancre
la source
24
la valeur par défaut Guid est {00000000-0000-0000-0000-000000000000}. Ce sont essentiellement des zéros binaires.
Szer
1
Ce site Web peut fournir des guids vides 00000000-0000-0000-0000-000000000000.com
Matthieu
En remarque: la valeur par défaut des chaînes est null, pas "" (;
Johan Wintgens

Réponses:

119

Vous pouvez utiliser ces méthodes pour obtenir un guid vide. Le résultat sera un guide avec tous ses chiffres étant des 0 - " 00000000-0000-0000-0000-000000000000".

new Guid()

default(Guid)

Guid.Empty
Peter Rasmussen
la source
43

Vous pouvez utiliser Guid.Empty. Il s'agit d'une instance en lecture seule de la structure Guid avec la valeur00000000-0000-0000-0000-000000000000

vous pouvez également les utiliser à la place

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

attention à ne pas utiliser Guid.NewGuid()car cela générera un nouveau Guid.

utilisez l'une des options ci-dessus dont vous et votre équipe pensez qu'elle est plus lisible et respectez-la. Ne mélangez pas différentes options dans le code. Je pense que Guid.Emptyc'est le meilleur car cela new Guid()pourrait nous faire penser qu'il génère un nouveau guide et que certains peuvent ne pas savoir quelle est la valeur de default(Guid).

Hamid Pourjam
la source
19

La valeur par défaut d'un GUID est vide. (par exemple: 00000000-0000-0000-0000-000000000000)

Cela peut être appelé en utilisant Guid.Empty()ounew Guid()

Si vous voulez un nouveau GUID, vous utilisez Guid.NewGuid()

David Watts
la source
8
@anchor J'ai remarqué que vous n'avez jamais accepté de réponse à vos questions. Ici - dans la FAQ de StackExchange, vous pouvez lire comment accepter une réponse et pourquoi vous devriez le faire.
Genhis
1
@Genhis, je pense qu'il a obtenu ce dont il avait besoin, puis il est tombé de la surface de la terre haha
David Watts
10

Pour étendre les réponses ci-dessus, vous ne pouvez pas utiliser la valeur par défaut de Guid avec Guid.Emptycomme argument facultatif dans la définition de méthode, d'indexeur ou de délégué, car cela vous donnera une erreur de compilation. Utilisez default(Guid)ou à la new Guid()place.

Tinamou
la source
-1

Créer un Guid vide ou un nouveau Guid à l' aide d'une classe ...

La valeur par défaut de Guid est 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
la source
oui ... vous pouvez définir la valeur de la classe comme valeur statique ... ou l'utiliser en classe ..
Akhilesh Singh
Je sais que nous pouvons utiliser Guid comme nous pouvons utiliser n'importe quel autre type en C #. Ma question était de savoir si votre réponse contenait de nouvelles informations qui n'existaient pas auparavant. Il semble que toutes les informations que vous avez publiées ont déjà été publiées par plusieurs autres personnes il y a des années.
nvoigt le
oui ... tu as raison ... je dis que ... tu peux utiliser un guid vide et un nouveau guid en utilisant une classe ... ce type de réponse n'est pas présent ... dans cette question ...
Akhilesh Singh