El método RandomNumber devuelve el mismo número cada vez que se llama

Estoy intentando generar un número aleatorio diferente cada vez que se llama a mi método RandomNumber desde mi bucle for. En este momento, devuelve el mismo número cada vez.

Este es mi método RandomNumber:

<code>    private int RandomNumber(int min, int max)
    {
        Random random = new Random();
        return random.Next(min, max);
    }
</code>

Este es el contexto en el que lo estoy usando en: (es un poco desordenado solo porque he estado jugando con el intento de que funcione ...)

<code>        for (int i = 0; i < charsRaw.Length; i++)
        {
            int max = charsRaw.Length - 1;
            int rand = 0;
            rand = RandomNumber(0, max);

            charsNew[i] = charsRaw[rand];
            text2 += charsNew[i];

         }
</code>

Parece que no puedo obtener un valor diferente cada vez que se llama con el bucle for.

Aunque, cuando coloco un MessageBox.Show (rand.ToString ()) después de text2 + = charsNew [i], me da un valor diferente cada vez y funciona de la manera que lo intenté. Extraño.

¡Gracias! Eric

Respuestas a la pregunta(2)

Su respuesta a la pregunta