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

Это хорошая идея, чтобы удалить тире из GUID?

У меня есть код, который заменяет тире пустыми строками в GUID.

Replace(System.Guid.NewGuid.ToString, "-", "")

Удалят ли уникальность указателя?

Также может кто-то подтвердить это тоже?

Мы сохраняем идентификаторы GUID в нашей базе данных как char (32). Все хорошо? Поскольку у нас есть международные пользователи в разных часовых поясах, мы обеспокоены тем, что длина символов может превышать 32. Спасибо.

4b9b3361

Ответ 1

Нет, уникальность Guid гарантирована.
Черточки предназначены только для чтения: внутренне Guid состоит из 16 байтов.
Вы можете увидеть Microsoft и Wikipedia для более подробности.
Посмотрите также на конструкторы:

public Guid(int a, short b, short c, byte[] d);
public Guid(int a, short b, short c, byte d, 
            byte e, byte f, byte g, byte h, 
            byte i, byte
public Guid(uint a, ushort b, ushort c, byte d, 
            byte e, byte f, byte g, byte h, 
            byte i, byte j, byte k);

Ответ 2

Черточки всегда находятся в одном и том же месте, поэтому нет, это не уменьшит уникальность.

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

Будет генерировать GUID без тире, как в этой документации

Ответ 3

Черточки не являются частью самого направляющего устройства. Они являются лишь частью общего представления указаний. Таким образом, удаление не приведет к изменению самого значения Guid.