Điều này thật kỳ lạ và tôi không thể thấy tại sao điều này xảy ra. Trong chu trình foreach, tôi đang lặp qua bộ sưu tập lớp A và cho mỗi lớp, tôi gọi phương thức Count()
, trong đó các số r1
và r2
được tạo từ phạm vi [-1,1]. Vấn đề là Random.Next
trả về cùng một số "ngẫu nhiên" cho mỗi trường hợp. Khi kết quả cho trường hợp đầu tiên là 0 và -1, các kết quả tương tự sẽ được trả về từ các trường hợp sau. Làm ơn, bạn có thể cho tôi biết tại sao điều này xảy ra? Ngoài ra, tôi không thể nhận được các kết quả khác nhau trong mỗi cá thể lớp A. Đây là mã:Random.Next trả về luôn có cùng giá trị
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();
}
}
Tôi quên là tốt, tôi đã từng có cùng một vấn đề trở lại trong ngày làm Bingo Thùng cho một câu lạc bộ, và trở lại sau đó, tôi đã sử dụng thủ thuật tồi tệ nhất từng được biết đến với con người: Tạm dừng chủ đề cho 2 Cô Thiếu kinh nghiệm và điên rồ ... Đủ điên, tôi có một lớp tạo tên ngẫu nhiên với khai báo Ngẫu nhiên tĩnh trên đầu của tất cả mọi thứ. –