[C-Sharp] Random retornando sempre o mesmo valor
Porque o System.Random está sempre retornando o mesmo valor dentro de um loop?
foreach(var dado in dados) { Random rnd = new Random(); dado valor = rnd.Next(1, dado.tipo); }
Victor Machado
Curtidas 0
Melhor post
Jones Granatyr
20/10/2016
Opa! Tente colocar o Random rnd = new Random() fora do for. Quando você precisa gerar mais de um número aleatório, deve reusar o objeto rnd
GOSTEI 1
Mais Respostas
Lucas Campos
20/10/2016
O Random gera pseudo números aleatórios baseado em uma seed, nesse caso você está gerando com a mesma seed vezes e vezes seguidas por estar em um loop e a cada vez que reusa o Random reseta novamente a seed.
Poderia usar a solução do Jones.
Ou ainda, você também poderia fazer:
Poderia usar a solução do Jones.
Ou ainda, você também poderia fazer:
Random r = new Random(DateTime.Now.Millisecond);
GOSTEI 0