Quindi in questo caso, avendo una lista di elementi tutti diversi, puoi farti una funzione a cui passi la lista originaria e che ti ritorna la lista con gli elementi in modalità random.
Una cosa di questo genere potrebbe fare al tuo caso:
codice:
List<int> crea_random_list(List<int> list)
{
Random r = new Random();
List<int> random_list = new List<int>();
int n;
while (list.Count != random_list.Count)
{
n = r.Next(list.Count);
if (!random_list.Contains(list[n]))
random_list.Add(list[n]);
}
return random_list;
}