Qual é o valor padrão para Guid?


106

O valor padrão para inté 0, para stringé "" e para booleanisso é falso. Alguém poderia esclarecer qual é o valor padrão guid?


24
o padrão Guid é {00000000-0000-0000-0000-000000000000}. São basicamente zeros binários.
Szer


1
Este site pode fornecer guias vazios 00000000-0000-0000-0000-000000000000.com
Mateus

Como observação lateral: o valor padrão das strings é nulo, não "" (;
Johan Wintgens

Respostas:


118

Você pode usar esses métodos para obter um guid vazio. O resultado será um guid com todos os seus dígitos sendo 0's - " 00000000-0000-0000-0000-000000000000".

new Guid()

default(Guid)

Guid.Empty

42

Você pode usar Guid.Empty. É uma instância somente leitura da estrutura Guid com o valor de00000000-0000-0000-0000-000000000000

você também pode usar estes

var g = new Guid();
var g = default(Guid);

cuidado para não usar, Guid.NewGuid()pois isso irá gerar um novo Guid.

use uma das opções acima que você e sua equipe considerem mais legível e se atenha a ela. Não misture opções diferentes no código. Acho que o Guid.Emptyé o melhor, pois new Guid()pode nos fazer pensar que está gerando um novo guid e alguns podem não saber qual é o valor de default(Guid).


19

O valor padrão para um GUID está vazio. (por exemplo: 00000000-0000-0000-0000-000000000000)

Isso pode ser invocado usando Guid.Empty()ounew Guid()

Se você quiser um novo GUID, use Guid.NewGuid()


8
@anchor Percebi que você nunca aceitou qualquer resposta às suas perguntas. Aqui - no FAQ do StackExchange você pode ler como pode aceitar uma resposta e por que você deve fazer isso.
Genhis de

1
@Genhis Eu acho que ele conseguiu o que precisava e então caiu da face da terra haha
David Watts

10

Para estender as respostas acima, você não pode usar o valor padrão do Guid com Guid.Emptyum argumento opcional na definição de método, indexador ou delegado, porque isso resultará em erro de tempo de compilação. Use default(Guid)ou em seu new Guid()lugar.


-1

Criar um Guid vazio ou novo Guid usando uma classe ...

O valor padrão de Guid é 00000000-0000-0000-0000-000000000000

public class clsGuid  ---This is class Name
{
    public Guid MyGuid { get; set; }
}

static void Main(string[] args)
        {
            clsGuid cs = new clsGuid();   
            Console.WriteLine(cs.MyGuid); --this will give empty Guid  "00000000-0000-0000-0000-000000000000"

            cs.MyGuid = new Guid();
            Console.WriteLine(cs.MyGuid); ----this will also give empty Guid  "00000000-0000-0000-0000-000000000000"

            cs.MyGuid = Guid.NewGuid();
            Console.WriteLine(cs.MyGuid); --this way, it will give new guid  "d94828f8-7fa0-4dd0-bf91-49d81d5646af"

            Console.ReadKey(); --this line holding the output screen in console application...
        }

sim ... você pode definir o valor da classe como um valor estático ... ou usando isso na classe ..
Akhilesh Singh

Eu sei que podemos usar o Guid como podemos usar qualquer outro tipo em C #. Minha pergunta era se sua resposta contém alguma informação nova que não estava aqui antes. Parece que todas as informações que você postou já foram postadas por várias outras pessoas anos atrás.
noite de

sim ... você está certo ... estou dizendo que ... você pode usar o guid vazio e o novo guid usando uma classe ... esse tipo de resposta não está presente ... nesta pergunta ...
Akhilesh Singh
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.