Приветствую всех!
Для генерации чисел использую метод Random.Next(Int32, Int32):
https://msdn.microsoft.com/ru-ru/library/2dx6wyd4(v=vs.110).aspx
При повторном вызове функции, в которой задействован этот метод, генерируются одинаковые числовые значения. Это описано здесь:
https://habrahabr.ru/post/165459/
Подскажите, пожалуйста, как задействовать данный класс в другой функции для генерации псевдослучайных чисел с помощью Random.Next(Int32, Int32):
public static class RandomProvider
{
private static int seed = Environment.TickCount;
private static ThreadLocal<Random> randomWrapper = new ThreadLocal<Random>(() =>
new Random(Interlocked.Increment(ref seed))
);
public static Random GetThreadRandom()
{
return randomWrapper.Value;
}
}
PS Недавно программирую на C#, поэтому прошу помощи.
Здравствуйте, this, Вы писали:
T>Подскажите, пожалуйста, как задействовать данный класс в другой функции для генерации псевдослучайных чисел с помощью Random.Next(Int32, Int32):T>[/cs]
Если правильно понял вопрос, то как-то так:
Random rnd = RandomProvider.GetThreadRandom();
int value = rnd.Next(0, 100);
Здравствуйте, Sinix, Вы писали:
S>Если правильно понял вопрос, то как-то так:
S>S>Random rnd = RandomProvider.GetThreadRandom();
S>int value = rnd.Next(0, 100);
S>
Да, поняли правильно. Теперь всё работает корректно. Спасибо.