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?

âncora
fonte
24
o padrão Guid é {00000000-0000-0000-0000-000000000000}. São basicamente zeros binários.
Szer
questão relacionada Como posso padronizar um parâmetro para Guid.Empty em C #?
Michael Freidgeim
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
Peter Rasmussen
fonte
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).

Hamid Pourjam
fonte
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()

David Watts
fonte
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.

tinamou
fonte
-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...
        }
Akhilesh Singh
fonte
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