รหัสนี้:
Something = new Guid()
กำลังกลับมา:
00000000-0000-0000-0000-000000000000
ตลอดเวลาและฉันไม่สามารถบอกได้ว่าทำไม? แล้วทำไมล่ะ?
รหัสนี้:
Something = new Guid()
กำลังกลับมา:
00000000-0000-0000-0000-000000000000
ตลอดเวลาและฉันไม่สามารถบอกได้ว่าทำไม? แล้วทำไมล่ะ?
คำตอบ:
เพียงคำอธิบายสั้น ๆ ว่าทำไมคุณถึงต้องเรียก NewGuid ซึ่งต่างจากการใช้ตัวสร้างเริ่มต้น ... ใน. NET โครงสร้างทั้งหมด (ประเภทค่าเช่น int, decimal, Guid, DateTime ฯลฯ ) ต้องมีตัวสร้างที่ไม่มีพารามิเตอร์เริ่มต้นซึ่งเริ่มต้นทั้งหมด ฟิลด์เป็นค่าเริ่มต้น ในกรณีของ Guid ไบต์ที่ประกอบเป็น Guid จะเป็นศูนย์ทั้งหมด แทนที่จะสร้างเป็นกรณีพิเศษสำหรับ Guid หรือสร้างเป็นคลาสพวกเขาใช้เมธอด NewGuid เพื่อสร้าง Guid แบบ "สุ่ม" ใหม่
มันอยู่ใน System.Guid.
ในการสร้าง GUID แบบไดนามิกในโค้ด:
Guid messageId = System.Guid.NewGuid();
หากต้องการดูมูลค่า:
string x = messageId.ToString();
something = new Guid()
something = Guid.Empty
เท่ากับ
ใช้Guid.NewGuid();
แทน
Guid g1 = Guid.NewGuid();
string s1;
s1 = g1.ToString();
Console.WriteLine("{0}",s1);
Console.ReadKey();