Berapa nilai default untuk Guid?

107

Nilai default untuk intadalah 0, untuk stringadalah "" dan untuk booleanitu salah. Bisakah seseorang menjelaskan untuk apa nilai defaultnya guid?

jangkar
sumber
24
defaultnya Guid adalah {00000000-0000-0000-0000-000000000000}. Ini pada dasarnya nol biner.
Szer
pertanyaan terkait Bagaimana cara default parameter ke Guid.Empty di C #?
Michael Freidgeim
1
Situs web ini dapat menyediakan panduan kosong 00000000-0000-0000-0000-000000000000.com
Matthew
Sebagai catatan tambahan: nilai default string adalah null, bukan "" (;
Johan Wintgens

Jawaban:

119

Anda dapat menggunakan metode ini untuk mendapatkan panduan kosong. Hasilnya akan menjadi panduan dengan semua digitnya menjadi 0 - " 00000000-0000-0000-0000-000000000000".

new Guid()

default(Guid)

Guid.Empty
Peter Rasmussen
sumber
43

Anda bisa menggunakan Guid.Empty. Ini adalah contoh hanya-baca dari struktur Panduan dengan nilai00000000-0000-0000-0000-000000000000

Anda juga dapat menggunakan ini sebagai gantinya

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

Berhati-hatilah untuk tidak menggunakannya Guid.NewGuid()karena ini akan menghasilkan Guid baru.

gunakan salah satu opsi di atas yang menurut Anda dan tim Anda lebih mudah dibaca dan patuhi. Jangan mencampur opsi yang berbeda di seluruh kode. Saya pikir yang Guid.Emptyterbaik karena new Guid()mungkin membuat kita berpikir itu menghasilkan pedoman baru dan beberapa mungkin tidak tahu apa nilainya default(Guid).

Hamid Pourjam
sumber
19

Nilai default untuk GUID kosong. (misalnya: 00000000-0000-0000-0000-000000000000)

Ini bisa dipanggil menggunakan Guid.Empty()ataunew Guid()

Jika Anda menginginkan GUID baru, gunakan Guid.NewGuid()

David Watts
sumber
8
@anchor Saya perhatikan bahwa Anda tidak pernah menerima jawaban apa pun atas pertanyaan Anda. Di sini - di FAQ StackExchange Anda dapat membaca bagaimana Anda dapat menerima jawaban dan mengapa Anda harus melakukannya.
Genhis
1
@Genhis Saya pikir dia mendapatkan apa yang dia butuhkan dan kemudian menjatuhkan muka bumi haha
David Watts
10

Untuk memperluas jawaban di atas, Anda tidak dapat menggunakan nilai default Guid dengan Guid.Emptysebagai argumen opsional dalam definisi metode, pengindeks atau delegasi, karena ini akan memberi Anda kesalahan waktu kompilasi. Gunakan default(Guid)atau new Guid()sebagai gantinya.

tinamou
sumber
-1

Buat Panduan Kosong atau Panduan Baru Menggunakan Kelas ...

Nilai default Guid adalah 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
sumber
ya ... Anda dapat menjadikan nilai kelas sebagai nilai statis ... atau menggunakannya di kelas ..
Akhilesh Singh
Saya tahu kita bisa menggunakan Guid karena kita bisa menggunakan tipe lain di C #. Pertanyaan saya adalah, apakah jawaban Anda berisi informasi baru yang sebelumnya tidak ada di sini. Sepertinya semua informasi yang Anda posting sudah diposting oleh beberapa orang beberapa tahun yang lalu.
nvoigt
ya ... Anda benar ... saya mengatakan bahwa ... Anda dapat menggunakan panduan kosong dan panduan baru menggunakan kelas ... jenis jawaban itu tidak ada ... dalam pertanyaan ini ...
Akhilesh Singh