Làm thế nào để sử dụng Guids trong C #?


Câu trả lời:



61

Chỉ là giải thích nhanh cho lý do tại sao bạn cần gọi NewGuid thay vì sử dụng hàm tạo mặc định ... Trong .NET, tất cả các cấu trúc (kiểu giá trị như int, decimal, Guid, DateTime, v.v.) phải có một hàm tạo không tham số mặc định khởi tạo tất cả các trường thành giá trị mặc định của chúng. Trong trường hợp của Hướng dẫn, các byte tạo nên Hướng dẫn đều bằng không. Thay vì tạo một trường hợp đặc biệt cho Guid hoặc biến nó thành một lớp, họ sử dụng phương pháp NewGuid để tạo một Guid "ngẫu nhiên" mới.


12

Nó đang ở trong System.Guid.

Để tạo động một GUID trong mã:

Guid messageId = System.Guid.NewGuid();

Để xem giá trị của nó:

string x = messageId.ToString();

Có, nó sẽ ở đó ( msdn.microsoft.com/en-us/library/system.guid_members.aspx ) nhưng tôi không thể sử dụng nó. Tại sao?
Ante

"Tôi không thể sử dụng nó" - điều gì sẽ xảy ra khi bạn cố gắng sử dụng nó? Gõ nó ra theo cách thủ công (có lẽ có vấn đề với intellisense của bạn) và cố gắng biên dịch - bạn có gặp lỗi biên dịch không?
Matt Brindley

Ý bạn là gì khi bạn nói rằng bạn "không thể sử dụng nó"? Nếu bạn gõ Guid x = System.Guid.NewGuid () và biên dịch, bạn có gặp lỗi không? Hay bạn không thích giá trị mà bạn nhận được cho x?
DOK

Xin lỗi rằng thuật toán Hướng dẫn đôi khi cần khởi động lại mới. Thở dài.
Josh

4

something = new Guid() bằng something = Guid.Empty .

Sử dụng Guid.NewGuid();thay thế


3
 Guid g1 = Guid.NewGuid();

 string s1;
 s1 = g1.ToString();
 Console.WriteLine("{0}",s1);
 Console.ReadKey();
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.