web-dev-qa-db-fra.com

Quelle est la valeur par défaut pour Guid?

La valeur par défaut pour int est 0, pour string est "" et pour boolean, elle est fausse. Quelqu'un pourrait-il clarifier la valeur par défaut de guid?

83
anchor

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

new Guid()

default(Guid)

Guid.Empty
93
Peter Rasmussen

Vous pouvez utiliser Guid.Empty. C'est un instance en lecture seule de la structure Guid avec la valeur de 00000000-0000-0000-0000-000000000000

vous pouvez aussi les utiliser à la place

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

méfiez-vous de ne pas utiliser Guid.NewGuid() car cela va générer un nouveau Guid.

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

34
Hamid Pourjam

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

Ceci peut être appelé avec Guid.Empty() ou new Guid()

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

16
David Watts

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

6
tinamou