Problema con Random

18/12/2006 - 09:28 por alberto | Informe spam
En una simulación se llama a un método que genera 22 valores aleatorios
varias veces. Me ocurre el problema de que se generan los mismos valores en
llamadas distintas al método. Los valores están entre 50.000 y 80.000 por lo
que me parece muy extraño. Ya probé a declarar la clase Random como local al
método y a la clase, pero con los mismos resultados.

Gracias.
 

Leer las respuestas

#1 Alberto Poblacion
18/12/2006 - 09:35 | Informe spam
"alberto" wrote in message
news:%
En una simulación se llama a un método que genera 22 valores aleatorios
varias veces. Me ocurre el problema de que se generan los mismos valores
en llamadas distintas al método. Los valores están entre 50.000 y 80.000
por lo que me parece muy extraño. Ya probé a declarar la clase Random como
local al método y a la clase, pero con los mismos resultados.



Cada vez que creas el objeto Random parte de la misma semilla y por
tanto genera la misma secuencia de valores. Una alternativa es crear un
único objeto Random que sea global a todo el programa (es decir, todo lo
contrario de lo que has hecho al declararlo local). Otra alternativa es
asignarle una nueva semilla cada vez que lo creas:

Random rnd = new Random(unchecked((int)DateTime.Now.Ticks));

Preguntas similares