[C-Sharp] Random retornando sempre o mesmo valor
20/10/2016
0
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
Curtir tópico
+ 0
Responder
Post mais votado
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
Jones Granatyr
Responder
Mais Posts
20/10/2016
Lucas Campos
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);
Responder
Clique aqui para fazer login e interagir na Comunidade :)