¿Cómo usar Guids en C #?


Respuestas:



61

Solo una explicación rápida de por qué necesita llamar a NewGuid en lugar de usar el constructor predeterminado ... En .NET todas las estructuras (tipos de valor como int, decimal, Guid, DateTime, etc.) deben tener un constructor sin parámetros predeterminado que inicialice todos los los campos a su valor predeterminado. En el caso de Guid, los bytes que componen el Guid son todos cero. En lugar de hacer un caso especial para Guid o convertirlo en una clase, usan el método NewGuid para generar un nuevo Guid "aleatorio".


12

Está dentro System.Guid.

Para crear dinámicamente un GUID en código:

Guid messageId = System.Guid.NewGuid();

Para ver su valor:

string x = messageId.ToString();

Sí, debería estar allí ( msdn.microsoft.com/en-us/library/system.guid_members.aspx ) pero no puedo usarlo. ¿Por qué?
Ante

"No puedo usarlo": ¿qué sucede cuando intentas usarlo? Escríbalo manualmente (tal vez haya un problema con su intellisense) e intente compilar: ¿obtiene errores de compilación?
Matt Brindley

¿A qué te refieres cuando dices que "no puedes usarlo"? Si escribe Guid x = System.Guid.NewGuid () y compila, ¿obtiene un error? ¿O no le gusta el valor que obtiene por x?
DOK

LOL, sí, el algoritmo Guid a veces necesita un reinicio nuevo. Suspiro.
Josh

4

something = new Guid()es igual something = Guid.Empty.

Utilizar en su Guid.NewGuid();lugar


3
 Guid g1 = Guid.NewGuid();

 string s1;
 s1 = g1.ToString();
 Console.WriteLine("{0}",s1);
 Console.ReadKey();
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.