2009-11-09 30 views
33

Soy nuevo en C#.¿Cómo convertir un GUID a una cadena en C#?

Sé que en vb.net, puedo hacer esto:

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

En C#, yo estoy tratando de hacer

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

pero me sale un grupo método "No se puede convertir ' ToString 'para no delegar escriba' cadena '. ¿Tenía la intención de invocar el método? " error.

Respuesta

60

Te estás perdiendo el () después ToString que lo marca como una llamada de función frente a una referencia de función (el tipo que se pasa a los delegados), que por cierto es la razón C# tiene ningún operador AddressOf, que está implícito en la forma en que lo escribe .

Prueba esto:

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

pareces haber hecho lo mismo ... editado para ti. – James

+0

¿No te estás perdiendo el, también?;) – Bobby

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

De lo contrario, es un delegado.

5

Usted necesita

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

se echa en falta() en el extremo de ToString.

3

qué escribió

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

o

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

notificación del un paréntesis

7

En Visual Basic, puede llamar a un método sin parámetros sin el llaves (()). En C#, son obligatorios. Por lo que debe escribir:

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

Sin las llaves, que está asignando el método en sí (en lugar de su resultado) a la variable guid, y, obviamente, el método no se puede convertir a un String, de ahí el error.

53

Según MSDN, el método Guid.ToString(string format) devuelve una representación de cadena del valor de esta instancia de Guid, de acuerdo con el especificador de formato proporcionado.

Ejemplos:

  • guidVal.ToString() o guidVal.ToString("D") devuelve 32 dígitos separados por guiones: 00000000-0000-0000-0000-000000000000

  • guidVal.ToString("N") devuelve 32 dígitos: 00000000000000000000000000000000

  • guidVal.ToString("B") retornos 32 dígitos separados por guiones, encerrado en llaves: {00000000-0000-0000-0000-000000000000}
+0

'guidVal.ToString (" P ")' devuelve 32 dígitos separados por hiperes, entre paréntesis: '(00000000-0000-0000-0000-000000000000)' –