2009-11-09 10 views
33

Sono nuovo di C#.Come convertire un GUID in una stringa in C#?

So in vb.net, posso fare questo:

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

In C#, che sto cercando di fare

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

ma ottengo un gruppo di metodo "Impossibile convertire ' ToString 'a non-delegate type' string '. Hai intenzione di invocare il metodo? " errore.

risposta

60

Stai perdendo il () dopo ToString che segna come una chiamata di funzione rispetto a un riferimento a una funzione (il genere si passa ai delegati), che incidentalmente è il motivo per cui C# non ha AddressOf operatore, è implicito da come lo si digita .

Prova questo:

string guid = System.Guid.NewGuid().ToString(); 
+0

sembra che tu abbia fatto lo stesso ... modificato per te. – James

+0

Non ti manca anche tu?;) – Bobby

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

Altrimenti è un delegato.

5

È necessario

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

si sta perdendo() alla fine del ToString.

3

Ti è scrivere

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

o

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

preavviso il paranthesis

7

In Visual Basic, è possibile chiamare un metodo senza parametri, senza il bretelle (()). In C#, sono obbligatori. Quindi si dovrebbe scrivere:

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

Senza le parentesi, si sta assegnando il metodo stesso (al posto del suo risultato) alla variabile guid, e, ovviamente, il metodo non può essere convertito in un String, da qui l'errore.

53

In base a MSDN il metodo Guid.ToString(string format) restituisce una rappresentazione di stringa del valore di questa istanza di Guida, in base allo specificatore di formato fornito.

Esempi:

  • guidVal.ToString() o guidVal.ToString("D") restituisce 32 cifre separati da trattini: 00000000-0000-0000-0000-000000000000

  • guidVal.ToString("N") restituisce 32 cifre: 00000000000000000000000000000000

  • guidVal.ToString("B") rendimenti 32 cifre separate da trattini, racchiusi in bretelle: {00000000-0000-0000-0000-000000000000}
+0

'guidVal.ToString (" P ")' restituisce 32 cifre separate da hypens, racchiuse tra parentesi: '(00000000-0000-0000-0000-000000000000)' –