Какое значение по умолчанию для Guid?

110

Значение по умолчанию для int0, для string"" и для booleanнего false. Может кто-нибудь пояснить, что такое значение по умолчанию guid?

якорь
источник
26
по умолчанию Guid является {00000000-0000-0000-0000-000000000000}. Это в основном двоичные нули.
Szer
1
Этот веб-сайт может предоставлять пустые направляющие 00000000-0000-0000-0000-000000000000.com
Мэтью,
1
В качестве побочного примечания: значение по умолчанию для строк - null, а не "" (;
Йохан Винтгенс,

Ответы:

122

Вы можете использовать эти методы, чтобы получить пустой гид. Результатом будет гид, в котором все цифры будут 0 - " 00000000-0000-0000-0000-000000000000".

new Guid()

default(Guid)

Guid.Empty
Питер Расмуссен
источник
44

Вы можете использовать Guid.Empty. Это доступный только для чтения экземпляр структуры Guid со значением00000000-0000-0000-0000-000000000000

вы также можете использовать их вместо

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

будьте осторожны, чтобы не использовать, Guid.NewGuid()потому что это создаст новый Guid.

используйте один из вариантов, который вы и ваша команда считаете более читаемым, и придерживайтесь его. Не смешивайте разные варианты в коде. Я думаю, что Guid.Emptyэто лучший вариант, поскольку он new Guid()может заставить нас подумать, что он генерирует новый гид, и некоторые могут не знать, в чем его значение default(Guid).

Хамид Пурджам
источник
20

Значение по умолчанию для GUID пусто. (например: 00000000-0000-0000-0000-000000000000)

Это можно вызвать с помощью Guid.Empty()илиnew Guid()

Если вам нужен новый GUID, вы используете Guid.NewGuid()

Дэвид Уоттс
источник
8
@anchor Я заметил, что вы никогда не принимали ответов на свои вопросы. Здесь - в FAQ по StackExchange вы можете прочитать, как вы можете принять ответ и почему вам следует это сделать.
Genhis
1
@Genhis, я думаю, он получил то, что ему было нужно, а затем упал с лица земли, ха-ха
Дэвид Уоттс,
10

Чтобы расширить ответы выше, вы не можете использовать значение по умолчанию Guid Guid.Emptyв качестве необязательного аргумента в определении метода, индексатора или делегата, потому что это приведет к ошибке времени компиляции. Используйте default(Guid)или new Guid()вместо.

тинамо
источник
-1

Создайте пустой гид или новый гид с помощью класса ...

Значение 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...
        }
Ахилеш Сингх
источник
да ... вы можете сделать значение класса статическим ... или использовать его в классе ..
Ахилеш Сингх,
Я знаю, что мы можем использовать Guid, как мы можем использовать любой другой тип в C #. Мой вопрос заключался в том, содержит ли ваш ответ какую-либо новую информацию, которой раньше не было. Кажется, вся информация, которую вы опубликовали, уже была опубликована несколькими людьми много лет назад.
nvoigt
да ... ты прав ... я говорю, что ... вы можете использовать пустой идентификатор и новый идентификатор, используя класс ... такого типа ответа нет ... в этом вопросе ...
Ахилеш Сингх,