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.
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();
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}
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.
String guid = System.Guid.NewGuid().ToString();
Sinon, c'est un délégué.
Vous avez besoin
String guid = System.Guid.NewGuid().ToString();
vous manquez () à la fin de ToString.
Avez-vous écrit
String guid = System.Guid.NewGuid().ToString;
ou
String guid = System.Guid.NewGuid().ToString();
remarquez les parenthèses
Guid guidId = Guid.Parse("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
string guidValue = guidId.ToString("D"); //return with hyphens
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
.