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