web-dev-qa-db-fra.com

Comment convertir un GUID en une chaîne en C #?

Je suis nouveau sur C #.

Je sais dans vb.net, je peux le faire:

Dim guid as string = System.Guid.NewGuid.ToString

En C #, j'essaye de faire

String guid = System.Guid.NewGuid().ToString;

mais j'obtiens un "Impossible de convertir le groupe de méthodes 'ToString' en type non-délégué 'chaîne'. Avez-vous l'intention d'invoquer la méthode?" Erreur.

45
Dave

Vous manquez le () après ToString qui le marque comme un appel de fonction par rapport à une référence de fonction (le type que vous passez aux délégués), ce qui est d'ailleurs la raison pour laquelle c # n'a pas d'opérateur AddressOf, cela est implicite par la façon dont vous taper.

Essaye ça:

string guid = System.Guid.NewGuid().ToString();
79
Blindy

Selon MSDN la méthode Guid.ToString(string format) renvoie une représentation sous forme de chaîne de la valeur de cette instance Guid, selon le spécificateur de format fourni.

Exemples:

  • guidVal.ToString() ou guidVal.ToString("D") renvoie 32 chiffres séparés par des tirets: 00000000-0000-0000-0000-000000000000

  • guidVal.ToString("N") renvoie 32 chiffres: 00000000000000000000000000000000

  • guidVal.ToString("B") renvoie 32 chiffres séparés par des tirets, entre accolades: {00000000-0000-0000-0000-000000000000}
77
Vadim Gremyachev

Dans Visual Basic, vous pouvez appeler une méthode sans paramètre sans les accolades (()). En C #, ils sont obligatoires. Vous devez donc écrire:

String guid = System.Guid.NewGuid().ToString();

Sans les accolades, vous assignez la méthode elle-même (au lieu de son résultat) à la variable guid, et évidemment la méthode ne peut pas être convertie en String, d'où l'erreur.

8
Thomas
String guid = System.Guid.NewGuid().ToString();

Sinon, c'est un délégué.

6
BennyM

Vous avez besoin

String guid = System.Guid.NewGuid().ToString();
5
Stephen Newman

vous manquez () à la fin de ToString.

5
Shiraz Bhaiji

Avez-vous écrit

String guid = System.Guid.NewGuid().ToString;

ou

String guid = System.Guid.NewGuid().ToString();

remarquez les parenthèses

4
Makach
Guid guidId = Guid.Parse("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
string guidValue = guidId.ToString("D"); //return with hyphens
3
hadi sorosh

Voici des exemples de sortie de chacun des spécificateurs de format:

N: cd26ccf675d64521884f1693c62ed303
D: cd26ccf6-75d6-4521-884f-1693c62ed303
B: {cd26ccf6-75d6-4521-884f-1693c62ed303}
P: (cd26ccf6-75d6-4521-884f-1693c62ed303)
X: {0xcd26ccf6,0x75d6,0x4521,{0x88,0x4f,0x16,0x93,0xc6,0x2e,0xd3,0x03}}

La valeur par défaut est D.

Exécutez vous-même .

3
Drew Noakes