Мне нужно прикрепить уникальный идентификатор к объектам во время выполнения. Идентификатор должен быть уникальным на время действия приложения. Я планирую сделать это, имея личную переменную-член в базовом классе моей объектной модели. Эта переменная будет установлена при инициализации объекта, и значение будет оставаться постоянным в течение всего срока службы объекта. Ни один другой объект не может иметь такой же идентификатор в течение срока действия приложения.
Я, конечно, могу использовать System.Guid , но это стоит 128 бит памяти для каждого объекта, и я хотел бы использовать меньше ресурсов. Я попытался использовать Int32 и инициализировать его с помощью свойства System.Environment.TickCount , но у меня недостаточно разрешения, и некоторые объекты получают одно и то же значение.
В документации для TickCounter говорится, что свойство TickCount будет иметь отрицательное значение через ~ 29, а затем снова обнулится через 29 дней. Я бы с радостью обменял больше разрешения на более короткий ролл со временем.
У меня есть другие варианты, о которых я не знаю?