Ciao a tutti amici di html forum !

Sono alle prese con un array di numeri da 0 a 9 in ordine crescente che devo mescolare a caso e non ci riesco perciò chiedo il vostro aiuto.
Ho provato anche a cercare ma ho trovato informazioni solo su altri linguaggi che non capisco e niente in c#.
Ho fatto un algoritmo che me li mescola ma alcuni me li doppia ad esempio vengono due 8 e non so il motivo.
Allego il codice sperando in un vostro aiuto.
codice:
 int totale=100;
            int[] vettore =  {0,1,2,3,4,5,6,7,8,9};           
            
            //MESCOLO
            Random casuale = new Random(DateTime.Now.Millisecond);
            int temp;
            
            do
            {
                temp=casuale.Next (1,9);
                temp = vettore[temp+1];
                vettore[temp] = vettore[temp-1];
                

                totale--;
            }while(totale>0);
                
           					    
            for(int i=0;i<10;i++)
            {
                Console.WriteLine(vettore[i]);
            }
            Console.ReadLine();