создание GUID без дефиса - PullRequest
83 голосов
/ 16 января 2012

Я генерирую GUID, используя следующий код в моем коде

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

Но когда генерируется GUID, я обнаружил, что он также содержит дефис. Как я могу генерировать GUID, используя только буквы (верхний и нижний регистр) и цифры? Я не хочу дефис. Может кто-нибудь дать мне такую ​​идею?

Ответы [ 2 ]

230 голосов
/ 16 января 2012

Обратите внимание, что вы говорите о (каноническом) строковом представлении Guid.Сам Guid на самом деле является 128-битным целочисленным значением.

Вы можете использовать спецификатор "N" с перегрузкой Guid.ToString(String).

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

По умолчаниюбуквы строчные.Guid с только заглавными буквами может быть получен только путем преобразования их всех в верхний регистр, например:

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

Guid только с буквой или цифрами не имеет смысла.Строковое представление guid является шестнадцатеричным, и, таким образом, всегда (что наиболее вероятно) содержит оба.

1 голос
/ 16 января 2012
Guid.NewGuid().ToString().Replace("-", string.Empty)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...