Kode ini:
Something = new Guid()
kembali:
00000000-0000-0000-0000-000000000000
sepanjang waktu dan saya tidak tahu mengapa? Jadi kenapa?
Jawaban:
Kamu harus menggunakan Guid.NewGuid()
Hanya penjelasan singkat mengapa Anda perlu memanggil NewGuid sebagai lawan menggunakan konstruktor default ... Dalam .NET semua struktur (tipe nilai seperti int, desimal, Guid, DateTime, dll) harus memiliki konstruktor tanpa parameter default yang menginisialisasi semua bidang ke nilai defaultnya. Dalam kasus Guid, byte yang menyusun Panduan semuanya nol. Daripada membuat kasus khusus untuk Guid atau menjadikannya kelas, mereka menggunakan metode NewGuid untuk menghasilkan Guid "acak" baru.
Ini masuk System.Guid.
Untuk membuat GUID dalam kode secara dinamis:
Guid messageId = System.Guid.NewGuid();
Untuk melihat nilainya:
string x = messageId.ToString();