Два экземпляра Random, созданные близко друг к другу, не дают одинаковую последовательность значений, хотя должны?C#

Место общения программистов C#
Ответить
Anonymous
 Два экземпляра Random, созданные близко друг к другу, не дают одинаковую последовательность значений, хотя должны?

Сообщение Anonymous »

В двух словах по C#12:

Поскольку системные часы имеют ограниченную степень детализации, два экземпляра Random
создаются близко друг к другу (обычно в течение 10 мс) даст ту же
последовательность значений

Однако я изо всех сил пытаюсь воспроизвести это в C#12.
MRE:

Код: Выделить всё

Random r1 = new Random();
Random r2 = new Random();

var i = r1.Next();
var j = r2.Next();

Console.WriteLine(i);
Console.WriteLine(j);
Я также не могу воспроизвести это в онлайн-компиляторах: https://www.programiz.com/online-compiler/01UovYLptRg3h
Это неправильно? Я что-то не понимаю (извините, я новичок)?
Сильнее MRE:

Код: Выделить всё

int count = 0;
while (true)
{
Random r1 = new Random();
Random r2 = new Random();

var i = r1.Next();
var i2 = r1.Next();
var i3 = r1.Next();
var j = r2.Next();
var j2 = r2.Next();
var j3 = r2.Next();

if (i == j && i2 == j2 && i3 == j3)
{
Console.WriteLine("Match found after " + count + " iterations");
break;
}
}
Этот более мощный MRE работал около 1 минуты и ничего не нашел, поэтому я остановил его вручную.


Подробнее здесь: https://stackoverflow.com/questions/793 ... ence-of-va
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»