Visual Basic .NET LanguageAleatorio


Introducción

La clase aleatoria se utiliza para generar enteros pseudo-aleatorios no negativos que no son realmente aleatorios, pero que son para propósitos generales lo suficientemente cercanos.

La secuencia se calcula utilizando un número inicial (llamado la semilla ) En versiones anteriores de .net, este número de semilla era el mismo cada vez que se ejecutaba una aplicación. Entonces, lo que sucedería sería que obtendría la misma secuencia de números pseudoaleatorios cada vez que se ejecutara la aplicación. Ahora, la semilla se basa en el momento en que se declara el objeto.

Observaciones

Finalmente, una nota sobre la aleatorización. Como se mencionó anteriormente, cuando declara una instancia de Random sin ningún parámetro, el constructor usará la hora actual como parte del cálculo para crear el número inicial inicial. Normalmente esto está bien.

Sin embargo. Si vuelve a declarar las nuevas instancias en un espacio de tiempo muy corto, cada vez que se calcula el número inicial, el tiempo podría ser el mismo. Considere este código.

For i As Integer = 1 To 100000
    Dim rnd As New Random
    x = rnd.Next
Next

Debido a que las computadoras son muy rápidas en estos días, este código tardará una fracción de segundo en ejecutarse y en varias iteraciones secuenciales del bucle, la hora del sistema no habrá cambiado. Por lo tanto, el número inicial no cambiará y el número aleatorio será el mismo. Si desea generar muchos números aleatorios, declare la instancia de aleatorio fuera del bucle en este simple ejemplo.

Dim rnd As New Random
For i As Integer = 1 To 100000
    x = rnd.Next
Next

La regla básica es no volver a crear una instancia del generador de números aleatorios en períodos cortos de tiempo.

Aleatorio Ejemplos relacionados