¿Cuál es el valor predeterminado de Guid?

106

El valor predeterminado para intes 0, para stringes "" y para booleanes falso. ¿Podría alguien aclarar cuál es el valor predeterminado para guid?

ancla
fuente
24
predeterminado Guid es {00000000-0000-0000-0000-000000000000}. Básicamente son ceros binarios.
Szer
pregunta relacionada ¿ Cómo puedo predeterminar un parámetro para Guid.Empty en C #?
Michael Freidgeim
1
Este sitio web puede proporcionar guías vacías 00000000-0000-0000-0000-000000000000.com
Mateo
Como nota al margen: el valor predeterminado de las cadenas es nulo, no "" (;
Johan Wintgens

Respuestas:

118

Puede utilizar estos métodos para obtener una guía vacía. El resultado será un guid con todos sus dígitos ceros - " 00000000-0000-0000-0000-000000000000".

new Guid()

default(Guid)

Guid.Empty
Peter Rasmussen
fuente
42

Puede utilizar Guid.Empty. Es una instancia de solo lectura de la estructura Guid con el valor de00000000-0000-0000-0000-000000000000

también puedes usar estos en su lugar

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

tenga cuidado de no usarlo Guid.NewGuid()porque generará un nuevo Guid.

utilice una de las opciones anteriores que usted y su equipo creen que es más legible y cúmplalas. No mezcle diferentes opciones en el código. Creo que Guid.Emptyes el mejor, ya que new Guid()podría hacernos pensar que está generando una nueva guía y es posible que algunos no sepan cuál es el valor de default(Guid).

Hamid Pourjam
fuente
19

El valor predeterminado de un GUID está vacío. (por ejemplo: 00000000-0000-0000-0000-000000000000)

Esto se puede invocar usando Guid.Empty()onew Guid()

Si desea un nuevo GUID, utilice Guid.NewGuid()

David Watts
fuente
8
@anchor Me he dado cuenta de que nunca ha aceptado ninguna respuesta a sus preguntas. Aquí, en las preguntas frecuentes de StackExchange , puede leer cómo puede aceptar una respuesta y por qué debería hacerlo.
Genhis
1
@Genhis, creo que obtuvo lo que necesitaba y luego se cayó de la faz de la tierra jaja
David Watts
10

Para ampliar las respuestas anteriores, no puede usar el valor predeterminado de Guid con Guid.Emptycomo argumento opcional en la definición de método, indexador o delegado, porque le dará un error de tiempo de compilación. Utilice default(Guid)o en su new Guid()lugar.

tinamou
fuente
-1

Crear una guía vacía o una nueva guía usando una clase ...

El valor predeterminado de Guid es 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
fuente
sí ... puedes hacer que el valor de la clase sea un valor estático ... o usar eso en clase ..
Akhilesh Singh
Sé que podemos usar Guid como podemos usar cualquier otro tipo en C #. Mi pregunta fue, si su respuesta contiene información nueva que no estaba aquí antes. Parece que toda la información que publicaste ya fue publicada por varias personas hace años.
nvoigt
sí ... ur derecho ... i dice que ... u puede utilizar GUID vacío y el nuevo GUID utilizando una clase ... ese tipo de respuesta no está presente ... en esta pregunta ...
Akhilesh Singh