Яке значення за замовчуванням для Guid?


107

Значення за замовчуванням intдорівнює 0, для stringє "", а для booleanнього - помилково. Може хтось, будь ласка, пояснить, що таке значення за замовчуванням guid?


24
за замовчуванням Guid є {00000000-0000-0000-0000-000000000000}. Це в основному бінарні нулі.
Szer


1
Цей веб-сайт може містити порожні путівники 00000000-0000-0000-0000-000000000000.com
Метью

В якості примітки: значення за замовчуванням рядків дорівнює нулю, а не "» (;
Йохан Wintgens

Відповіді:


119

Ви можете використовувати ці методи, щоб отримати порожні орієнтири. Результатом буде орієнтир, оскільки всі цифри становлять 0 - " 00000000-0000-0000-0000-000000000000".

new Guid()

default(Guid)

Guid.Empty

42

Можна використовувати Guid.Empty. Це лише екземпляр структури Guid зі значенням00000000-0000-0000-0000-000000000000

ви також можете використовувати їх замість цього

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

остерігайтесь не користуватися, Guid.NewGuid()оскільки це створить новий Посібник.

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


19

Значення за замовчуванням для GUID порожнє. (наприклад: 00000000-0000-0000-0000-000000000000)

На це можна звернутися за допомогою Guid.Empty()абоnew Guid()

Якщо ви хочете новий GUID, ви використовуєте Guid.NewGuid()


8
@anchor Я помітив, що ви ніколи не приймали жодної відповіді на свої запитання. Тут - у FAQ щодо StackExchange ви можете прочитати, як ви можете прийняти відповідь і чому це потрібно робити.
Генхіс

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

так ... ур правильно ... я кажу, що ... ти можеш використовувати порожній навідник та новий гід, використовуючи клас ... такого типу відповіді немає ... у цьому питанні ...
Ахілеш Сінгх
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.