tạo GUID không có gạch nối


104

Tôi đang tạo GUID bằng cách sử dụng câu lệnh sau trong mã của mình

byte[ ] keyBytes = Encoding.UTF8.GetBytes( Guid.NewGuid( ).ToString( ).Substring( 0, 12 ) );

Nhưng, khi một GUID được tạo, tôi thấy rằng nó cũng chứa ký tự gạch nối. Làm cách nào để tạo GUID chỉ với các chữ cái (chữ hoa và chữ thường) và số? Tôi không muốn gạch nối. Ai đó có thể cho tôi ý tưởng như vậy không?

Câu trả lời:


273

Lưu ý rằng bạn đang nói về cách biểu diễn chuỗi (chuẩn) của Hướng dẫn. Bản thân Guid thực sự là một giá trị số nguyên 128 bit.

Bạn có thể sử dụng thông số "N" với Guid.ToString(String)quá tải.

Guid.NewGuid().ToString("N");

Theo mặc định, các chữ cái là chữ thường. Chỉ có thể đạt được Hướng dẫn chỉ có chữ hoa bằng cách chuyển đổi thủ công tất cả chúng thành chữ hoa, ví dụ:

Guid.NewGuid().ToString("N").ToUpper();

Một hướng dẫn chỉ có chữ cái hoặc chữ số không có ý nghĩa gì. Biểu diễn chuỗi hướng dẫn là hệ thập lục phân và do đó sẽ luôn (rất có thể) chứa cả hai.


có thể tạo GUID với cả ký tự chữ hoa và chữ thường cùng với số không ???
Harish Kumar

7
@HarishKumar Điều đó không có ý nghĩa gì. Chuỗi GUID là một số thập lục phân. Trong đó ký hiệu 'a' giống với 'A'. Mặc dù vì vậy bạn có thể in mọi chữ cái trong cách viết hoa mà bạn muốn (nhưng tôi thực sự thấy chẳng ích lợi gì).
Christian.K

nhưng những gì tôi muốn có là một chuỗi hướng dẫn, đó là một hỗn hợp của chữ thường, chữ hoa và số ... tôi có thể đạt được dis sort ???
Harish Kumar

7
@HarishKumar Bạn sẽ quyết định chữ cái nào viết hoa và chữ cái nào viết thường? Tất nhiên bạn có thể tự do sử dụng string.Replace(char, char)để đạt được điều đó, nhưng thực sự thì điều đó là vô nghĩa và không cần thiết. Cân nhắc đăng một câu hỏi mới và cố gắng hỏi những gì bạn thực sự muốn đạt được - nó dường như không chỉ là loại bỏ dấu gạch ngang trong chuỗi GUID.
Christian.K

0
Guid.NewGuid().ToString().Replace("-", string.Empty)

20
Trong khi điều này sẽ thực hiện công việc, nếu không có gì khác, nó là công việc bổ sung (và rất có thể là phân bổ chuỗi không cần thiết).
Christian.K
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.