วิธีใช้ Guids ใน C #?


คำตอบ:



61

เพียงคำอธิบายสั้น ๆ ว่าทำไมคุณถึงต้องเรียก NewGuid ซึ่งต่างจากการใช้ตัวสร้างเริ่มต้น ... ใน. NET โครงสร้างทั้งหมด (ประเภทค่าเช่น int, decimal, Guid, DateTime ฯลฯ ) ต้องมีตัวสร้างที่ไม่มีพารามิเตอร์เริ่มต้นซึ่งเริ่มต้นทั้งหมด ฟิลด์เป็นค่าเริ่มต้น ในกรณีของ Guid ไบต์ที่ประกอบเป็น Guid จะเป็นศูนย์ทั้งหมด แทนที่จะสร้างเป็นกรณีพิเศษสำหรับ Guid หรือสร้างเป็นคลาสพวกเขาใช้เมธอด NewGuid เพื่อสร้าง Guid แบบ "สุ่ม" ใหม่


12

มันอยู่ใน System.Guid.

ในการสร้าง GUID แบบไดนามิกในโค้ด:

Guid messageId = System.Guid.NewGuid();

หากต้องการดูมูลค่า:

string x = messageId.ToString();

ใช่มันควรจะอยู่ที่นั่น ( msdn.microsoft.com/en-us/library/system.guid_members.aspx ) แต่ฉันใช้ไม่ได้ ทำไม?
Ante

"ฉันใช้ไม่ได้" - จะเกิดอะไรขึ้นเมื่อคุณพยายามใช้งาน พิมพ์ด้วยตนเอง (อาจมีปัญหากับ Intellisense ของคุณ) และพยายามรวบรวม - คุณได้รับข้อผิดพลาดในการรวบรวมหรือไม่?
Matt Brindley

คุณหมายความว่าอย่างไรเมื่อคุณบอกว่าคุณ "ใช้ไม่ได้"? หากคุณพิมพ์ Guid x = System.Guid.NewGuid () และคอมไพล์คุณได้รับข้อผิดพลาดหรือไม่ หรือคุณไม่ชอบค่าที่คุณได้รับสำหรับ x?
DOK

ฮ่า ๆ ใช่ว่าอัลกอริทึม Guid บางครั้งต้องรีบูตใหม่ เฮ้อ.
Josh


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.