Random: números aleatorios

De vez en cuando viene bien un número aleatorio, ¿no?

Si no somos nada rigurosos, porque no nos hace falta, valdría con el típico

        int aleat0 = DateTime.Now.Millisecond;

Y con la operación módulo (%) y alguna que otra suma podemos conseguir cualquier número en cualquier rango.

Por el contrario, si somos tremendamente rigurosos y queremos un número lo más aleatorio posible además de muy alto, por ejemplo para generar una clave criptográfica que codifique información muy importante, este no es tu artículo


Pero si estás entre la inmensa mayoría y quieres un número "respetablemente" aleatorio, vamos a ver cuán fácil es de conseguirlo con ASP.NET.

Con ASP.NET tenemos tres métodos que nos generan un número aleatorio, pero primero de todo tenemos que instanciar la clase random:

        // Creamos el objeto random, simplemente
        Random r = new Random();
       
        // O para los más puritamos,
        // añadimos un plus de aleatoriedad eligiendo una semilla con cierto grado de pseudoaleatoriedad
        Random r = new Random(DateTime.Now.Millisecond);


Y una vez tenemos el objeto, utilizaremos uno de esos tres métodos.

1.- El método Next

Tiene tres sobrecargas:
        int aleat1 = r.Next();

        // Le imponemos un máximo
        int aleat2 = r.Next(100);

        // Le imponemos un rango, por ejemplo queremos un número de 3 cifras
        int aleat3 = r.Next(100, 999);


2.- El método NextDouble
        // Devuelve un double entre 0 y 1
        int aleat4 = r.NextDouble();


3.- El método NextBytes
        byte[] buffer = new byte[100];
        r.NextBytes(buffer);


¡¡Como veis, es muy sencillo!!
Por cierto, la clase Random está dentro del namespace System, por lo que no tenéis que recoger ningún namespace extraño