Ho fornito un semplice codice che emetterà 10 cifre casuali tra 0 e 100. Quando eseguo questo in Visual Studio (C#) usando F5, ottengo il lo stesso numero 10 volte. Tuttavia, se lo eseguo attraverso la modalità di debug, riga per riga usando F10 o F11, ottengo 10 numeri diversi (potrebbero non essere tutti diversi ma sono randomizzati).L'esecuzione di un programma mi dà risultati diversi dalla modalità di debug
public static void rand() {
for (int j = 0; j < 10; j++) {
Random r = new Random();
Console.WriteLine(r.Next(100));
}
}
so come risolvere il problema, che è istanziando r a caso al di fuori del ciclo e la copia per riferimento, ma vorrei capire perché questo sta accadendo. Sto pensando che questo abbia qualcosa a che fare con il seed ma il programma funziona mentre è in esecuzione in modalità debugging che mi confonde.
Inoltre, ora mi sto chiedendo se avrò sempre bisogno di verificare se la modalità di debugging mi sta dando i risultati giusti.
Prova dichiarando tuoi casuale * fuori * il ciclo –
Grazie per il suggerimento, ma ho già detto che nel post –