¿por qué este método devuelve la misma cadena aleatoria cada vez?

Necesito crear un bloque de líneas únicas para probar un proyecto diferente en el que estoy trabajando.

Así que creé un programa simple para generar una cadena aleatoria de longitud X.

El problema es que si lo llamo una vez, obtengo una cadena aleatoria, si la llamo nuevamente (en un bucle for, por ejemplo) obtengo la misma cadena para toda la ejecución del bucle.

Tengo la sensación de que se está almacenando en caché o algo así, pero no sabía que .net hizo eso y estoy confundido en este momento.

código de llamada:

    StreamWriter SW = new StreamWriter("c:\\test.txt");
    int x = 100;
    while (x >0)
    {
        SW.WriteLine(RandomString(20));
        x--;
    }

aquí está el método:

private static string RandomString(int Length)
{
    StringBuilder sb = new StringBuilder();
    Random randomNumber = new Random();

    for (int i = 0; i <= Length; ++i)
    {
        int x = randomNumber.Next(65, 122);
        sb.Append(Convert.ToChar(x));
    }
    return sb.ToString();        
}

y aquí está la salida:

"VEWMCQ`Fw]TvSFQawYnoB
VEWMCQ`Fw]TvSFQawYnoB
VEWMCQ`Fw]TvSFQawYnoB
VEWMCQ`Fw]TvSFQawYnoB
VEWMCQ`Fw]TvSFQawYnoB
VEWMCQ`Fw]TvSFQawYnoB
..................
VEWMCQ`Fw]TvSFQawYnoB
VEWMCQ`Fw]TvSFQawYnoB
VEWMCQ`Fw]TvSFQawYnoB
VEWMCQ`Fw]TvSFQawYnoB
VEWMCQ`Fw]TvSFQawYnoB"

Entonces, ¿qué da, pensé que Random.next () siempre devolvería un nuevo número aleatorio?

Respuestas a la pregunta(6)

Su respuesta a la pregunta