2009-11-09 51 views
33

Tôi mới sử dụng C#.Làm thế nào để chuyển đổi GUID thành chuỗi trong C#?

Tôi biết trong vb.net, tôi có thể làm điều này:

Dim guid as string = System.Guid.NewGuid.ToString 

Trong C#, tôi đang cố gắng để làm

String guid = System.Guid.NewGuid().ToString; 

nhưng tôi nhận được một nhóm phương pháp "Không thể chuyển đổi ' ToString 'để không đại biểu loại' chuỗi '. Bạn có ý định gọi phương thức? " lỗi.

Trả lời

60

Bạn đang thiếu () sau ToString đánh dấu nó là cuộc gọi hàm và tham chiếu hàm (loại bạn chuyển cho người được ủy quyền), điều này ngẫu nhiên là lý do tại sao C# không có toán tử AddressOf. .

Hãy thử điều này:

string guid = System.Guid.NewGuid().ToString(); 
+0

bạn dường như đã làm như vậy ... đã chỉnh sửa cho bạn. – James

+0

Bạn cũng không bỏ lỡ?;) – Bobby

6
String guid = System.Guid.NewGuid().ToString(); 

Nếu không, đó là đại biểu.

5

Bạn cần

String guid = System.Guid.NewGuid().ToString(); 
5

bạn đang thiếu() trên cuối ToString.

3

Cậu viết

String guid = System.Guid.NewGuid().ToString; 

hoặc

String guid = System.Guid.NewGuid().ToString(); 

thông báo các ngoặc

7

Trong Visual Basic, bạn có thể gọi một phương thức parameterless không các niềng răng (()). Trong C#, chúng bắt buộc. Vì vậy, bạn nên viết:

String guid = System.Guid.NewGuid().ToString(); 

Nếu không có niềng răng, bạn đang gán phương pháp riêng của mình (thay vì kết quả của nó) vào biến guid, và rõ ràng là phương pháp không thể được chuyển đổi sang một String, vì thế mà lỗi.

53

Theo MSDN phương thức Guid.ToString(string format) trả về một biểu diễn chuỗi giá trị của cá thể Guid này, theo trình định dạng định dạng được cung cấp.

Ví dụ:

  • guidVal.ToString() hoặc guidVal.ToString("D") trả 32 chữ số phân cách bằng dấu gạch nối: 00000000-0000-0000-0000-000000000000

  • guidVal.ToString("N") lợi nhuận 32 chữ số: 00000000000000000000000000000000

  • guidVal.ToString("B") lợi nhuận 32 chữ số cách nhau bởi dấu gạch nối, kèm theo trong niềng răng: {00000000-0000-0000-0000-000000000000}
+0

'guidVal.ToString (" P ")' trả về 32 chữ số được phân cách bởi các dấu thăng, được đặt trong dấu ngoặc đơn: '(00000000-0000-0000-0000-000000000000)' –

Các vấn đề liên quan