Como usar Guids em C #?


Respostas:



61

Apenas uma rápida explicação de por que você precisa chamar NewGuid em vez de usar o construtor padrão ... Em .NET todas as estruturas (tipos de valor como int, decimal, Guid, DateTime, etc) devem ter um construtor sem parâmetros padrão que inicializa todos os os campos com seus valores padrão. No caso do Guid, os bytes que compõem o Guid são todos zero. Em vez de fazer um caso especial para o Guid ou torná-lo uma classe, eles usam o método NewGuid para gerar um novo Guid "aleatório".


12

Está dentro System.Guid.

Para criar dinamicamente um GUID no código:

Guid messageId = System.Guid.NewGuid();

Para ver seu valor:

string x = messageId.ToString();

Sim, deveria estar lá ( msdn.microsoft.com/en-us/library/system.guid_members.aspx ), mas não posso usá-lo. Por quê?
Ante

"Não consigo usar" - o que acontece quando você tenta usá-lo? Digite-o manualmente (talvez haja um problema com o seu intellisense) e tente compilar - você obtém erros de compilação?
Matt Brindley

O que você quer dizer quando diz que "não pode usar"? Se você digitar Guid x = System.Guid.NewGuid () e compilar, você obtém um erro? Ou você não gosta do valor que está obtendo por x?
DOK

LOL sim, que o algoritmo Guid às vezes precisa de uma nova reinicialização. Suspiro.
Josh

4

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

Use ao Guid.NewGuid();invés


3
 Guid g1 = Guid.NewGuid();

 string s1;
 s1 = g1.ToString();
 Console.WriteLine("{0}",s1);
 Console.ReadKey();
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.