Me auto-respondo:
-He utilizado dos ArrayList. En en primero tengo los números ordenados de 0 a N y en el segundo voy introduciendo los números que saco del primer ArrayList de forma aleatoria y a la vez voy borrando:
Código:
int MaxFotos = 50;
ArrayList Lista = new ArrayList();
ArrayList aAux = new ArrayList(MaxFotos);
for (int iNum=0; iNum < MaxFotos; iNum++)
aAux.Add(iNum);
Random rAleatorio = new Random();
int iAux;
for (int iNum=MaxFotos-1; iNum >= 0; iNum--)
{
iAux = rAleatorio.Next(0,iNum+1);
Lista.Add(aAux[iAux]);
aAux.RemoveAt(iAux);
}
for (int iNum=0; iNum<MaxFotos; iNum++)
Response.Write(iNum.ToString() + "-> " + Lista[iNum].ToString() + "<br>");
A mi parecer es una función eficiente, pero mi duda es... ¿Puedo rellenar un ArrayList de 0 a 50 (por ejemplo) sin tener que hacer un bucle "for"? Osea... rellenarlo en la declaración.
Saludos!!!