¿Cómo puedo generar un número entero aleatorio en C#?
La clase Random
se utiliza para crear números aleatorios. (Pseudo-aleatorios, por supuesto).
Ejemplo:
Random rnd = new Random();
int month = rnd.Next(1, 13); // creates a number between 1 and 12
int dice = rnd.Next(1, 7); // creates a number between 1 and 6
int card = rnd.Next(52); // creates a number between 0 and 51
Si vas a crear más de un número aleatorio, debes conservar la instancia Random
y reutilizarla. Si creas nuevas instancias demasiado cerca en el tiempo, producirán la misma serie de números aleatorios, ya que el generador aleatorio es sembrado desde el reloj del sistema.
Tenga en cuenta que new Random()
se basa en la marca de tiempo actual.
Si quieres generar sólo un número puedes usar:
new Random().Next( int.MinValue, int.MaxValue )
Para más información, mira la clase Random, aunque ten en cuenta:
Sin embargo, debido a que el reloj tiene una resolución finita, el uso del constructor sin parámetros para crear diferentes objetos Random en estrecha sucesión crea generadores de números aleatorios que producen secuencias idénticas de números aleatorios
Así que no utilice este código para generar una serie de números aleatorios.