Questo è davvero strano, e non riesco a capire perché questo sta accadendo. Nel ciclo foreach, sto iterando attraverso una raccolta di classe A, e per ogni classe, chiamo il metodo Count()
, dove i numeri r1
e r2
vengono generati dall'intervallo [-1,1]. Il problema è che Random.Next
restituisce gli stessi numeri "casuali" per ogni istanza. Quando i risultati per la prima istanza sono 0 e -1, gli stessi verranno restituiti dalle seguenti istanze. Per favore, potresti dirmi perché questo sta accadendo? Inoltre, non riesco a ottenere risultati diversi in ogni istanza di classe A. Questo è il codice:Random.Next restituisce sempre gli stessi valori
class a
{
Random rnd = new Random();
private void Count()
{
int r1 = rnd.Next(-1, 1);
int r2 = rnd.Next(-1, 1);
}
}
class b
{
List<a> listofA=new list<a>();
foreach (a ACLASS in listofA)
{
ACLASS.Count();
}
}
ho dimenticato come bene, ho usato per avere lo stesso problema di nuovo nel corso della giornata rendendo Bingo Cartoni per un club, e in quel momento, ho usato il peggior trucco mai conosciuto dall'uomo: mettere in pausa il thread per 2 Ms. Inesperto e pazzo ... Abbastanza pazzo, ho una classe che crea nomi casuali con una dichiarazione casuale Random in cima di tutto. –