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

Можно ли создавать идентичные концы

Можно ли создавать одинаковые контуры в одном приложении

Guid id = Guid.NewGuid();
4b9b3361

Ответ 1

Технически, да. Созданный Guid выглядит так:

26de36b7-76f5-4f17-8f9d-44eb429f151b

Это означает 32 символа, которые могут быть буквой (26 возможностей) или цифрой (10 возможностей)

Это означает, что 36 позиций на позицию в общей сложности 36 ^ 32, что составляет ок. 60 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000.

Это означает, что если вы создадите 2 000 000 000 000 000 000 000 000 000 000 000 000 000 гидов каждые миллисекунды (что невозможно), вы в среднем получите один и тот же guid, созданный дважды один раз, а все остальные гиды будет уникальным.

Так на практике. Нет;)

Ответ 2

Если вы спрашиваете, высок ли риск создания Guid.NewGuid() создания повторяющихся указателей, тогда ответ будет отрицательным. Это взято из Wikipedia:

Значение GUID представляется как шестнадцатеричная строка с 32 символами, например {21EC2020-3AEA-1069-A2DD-08002B30309D} и обычно хранится как 128-битное целое число. Общее количество уникальных ключей - 2128 или 3,4 × 1038 - примерно 2 триллиона за кубический миллиметр всего объема Земли. Это число настолько велико, что вероятность того, что одно и то же число генерируется дважды, крайне мало.

Если вы спросите нас, как создать два дубликата, то это ответ:

Guid g1 = new Guid("21EC2020-3AEA-1069-A2DD-08002B30309D");
Guid g2 = new Guid("21EC2020-3AEA-1069-A2DD-08002B30309D");

Ответ 4

Guid.NewGuid() всегда будет создавать уникальный Guid во всем мире не только внутри одного приложения.

Ответ 5

U в GUID означает Unique.;-) Так что это не должно быть возможно.

Ответ 6

На самом деле, это произошло. У меня была таблица базы данных, содержащая 7 элементов. Из моей программы я добавил новый экземпляр, используя Guid.NewGuid() для своего идентификатора. Я получил DbUpdateException, указав, что идентификатор идентичен существующему. Попробовал снова, он отлично работает.