В одном из проектов, над которым я работаю, следующая картина видится довольно регулярно:
var guid = Guid.NewGuid().ToString();
while (guid == Guid.Empty.ToString())
{
guid = Guid.NewGuid().ToString();
}
Хотя я понимаю, что GUID не гарантированно является уникальным, и в соответствии с документацией MSDN сгенерированный GUID может быть равен нулю , это практическое соображение на самом деле стоит посылать циклическое тестирование как в вычислительном смысле, так и с точки зрения времени разработчика, думая об этом ?