В приложении, когда создаются особые типы объектов, мне нужно сгенерировать уникальный идентификатор для каждого из них. Объекты создаются на фабрике и имеют высокую вероятность создания в массовых операциях. Я понимаю, что «Случайный» из фреймворка не так уж и «случайный», поэтому я попытался добавить метку времени следующим образом:
private string GenerateUniqueId()
{
Random randomValue = new Random();
return DateTime.Now.Ticks.ToString() + randomValue.Next().ToString();
}
К сожалению, даже это не работает. Для объектов, которые создаются в быстрой последовательности, я генерирую тот же уникальный идентификатор: - (
В настоящее время я реализую это в общих чертах следующим образом:
private string GenerateUniqueId()
{
Random randomValue = new Random();
int value = randomValue.Next();
Debug.WriteLine(value.ToString());
Thread.Sleep(100);
return DateTime.Now.Ticks.ToString() + value.ToString();
}
Поскольку это не очень большое приложение, я думаю, что вместо реализации сложного алгоритма будет достаточно простого и быстрого метода.
Пожалуйста, предложите.