Um campo de nossa estrutura é o tipo Guid. Como gerar um valor válido para isso?
Um campo de nossa estrutura é o tipo Guid. Como gerar um valor válido para isso?
Respostas:
Guid id = Guid.NewGuid();
Guid.NewGuid()
cria um novo guia aleatório.
Existem duas maneiras
var guid = Guid.NewGuid();
ou
var guid = Guid.NewGuid().ToString();
ambos usam a classe Guid; o primeiro cria um objeto Guid; o segundo, uma sequência Guid.
var guid = Guid.NewGuid().ToString()
apenas o transforma em uma string.
Guid.NewGuid () criará um
var guid = new Guid();
Ei, é um Guid 'válido', embora não seja muito útil.
(o guia é todo zeros, se você não souber. Às vezes isso é necessário para indicar nenhum guia, nos casos em que você não deseja usar um guia nulo)
var guid = new Guid(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, });
Para criar um guid all-0 "vazio" 00000000-0000-0000-0000-000000000000
.
var makeAllZeroGuID = new System.Guid();
ou
var makeAllZeroGuID = System.Guid.Empty;
Para criar um guia real com um valor único, o que você provavelmente deseja.
var uniqueGuID = System.Guid.NewGuid();
System.Guid desiredGuid = System.Guid.NewGuid();
Há também ShortGuid - uma classe GUID mais curta e amigável ao URL em C #. Está disponível como um Nuget . Mais informações aqui .
PM> Install-Package CSharpVitamins.ShortGuid
Uso:
Guid guid = Guid.NewGuid();
ShortGuid sguid1 = guid; // implicitly cast the guid as a shortguid
Console.WriteLine(sguid1);
Console.WriteLine(sguid1.Guid);
Isso produz um novo guia, usa esse guia para criar um ShortGuid e exibe os dois valores equivalentes no console. Os resultados seriam algo como:
ShortGuid: FEx1sZbSD0ugmgMAF_RGHw
Guid: b1754c14-d296-4b0f-a09a-030017f4461f
Se você estiver usando isso no Reflection C #, poderá obter o guid do atributo de propriedade da seguinte maneira
var propertyAttributes= property.GetCustomAttributes();
foreach(var attribute in propertyAttributes)
{
var myguid= Guid.Parse(attribute.Id.ToString());
}