Подтвердить что ты не робот

Генерирование GUID без дефиса

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

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

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

4b9b3361

Ответ 1

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

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

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

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

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

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

Ответ 2

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