2017-06-14 5 views
0

Was ich tun muss zufällig eine Reihe von 25 Zahlen ist ShuffleRandomly ein Array schlurfenden

int[] arr = Enumerable.Range(0, 24).ToArray(); 

also, dass sie nach wie vor alle Zahlen von 0 bis 24, sondern in zufälliger Reihenfolge hat. Was wäre der einfachste Weg, es zu tun?

@edit;

namespace WindowsFormsApp1 
{ 
    public partial class Form1 : Form 
    { 
     Random rnd = new Random(); 
     int[] arr = Enumerable.Range(0, 24).OrderBy(c => rnd.Next()).ToArray(); 

     public Form1() 
     { 
      InitializeComponent(); 
     } 
    } 
} 
+0

'var random = new Random(); arr = arr.OrderBy (i => random.Next()). ToArray(); ' –

+2

Google" Fisher-Yates Shuffle "für Ideen. – rossum

Antwort

1

Sie können OrderBy(c => rnd.Next()) wie diese

Random rnd = new Random(); 
int[] arr = Enumerable.Range(0, 24).OrderBy(c => rnd.Next()).ToArray(); 
+0

Visual wird das nicht für mich ausführen. Es unterstreicht "zufällig" und sagt 'ein Feld Initialisierer kann nicht auf das nicht statische Feld, Methode oder Eigenschaft' – Ayukawa

+0

@Ayukawa Siehe meine aktualisierte Antwort. Ich habe den Namen der Variable in 'rnd' umbenannt. Behoben und Nein sollte funktionieren. Versuch es. –

+0

Ich habe den Fehler tatsächlich bemerkt und in beiden Fällen 'rnd' in 'random' geändert, also ist das nicht das Problem. – Ayukawa

Verwandte Themen