Fórum [C-Sharp] Random retornando sempre o mesmo valor #564357
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
Gostei + 1
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)