thể trùng lặp:
Why does this Random Number Generator not random?Tại sao không ngẫu nhiên() ngẫu nhiên?
tôi có chương trình thử nghiệm này:
static void Main(string[] args)
{
var randomNumbers = new Dictionary<int, int>();
foreach (var s in Enumerable.Range(1, 500))
{
var rand = Rand5();
if (!randomNumbers.ContainsKey(rand))
randomNumbers.Add(rand, 1);
else
randomNumbers[rand] += 1;
}
randomNumbers
.ToList()
.ForEach(x => Console.WriteLine("{0}: {1}", x.Key, x.Value));
Console.ReadLine();
}
static int Rand5()
{
System.Threading.Thread.Sleep(1);
return new Random().Next(1, 6);
}
Nếu tôi nhận xét ra System.Threading.Thread.Sleep(1);
, tôi nhận được
5: 500
Nhưng nếu tôi bỏ ghi chú dòng đó, tôi sẽ nhận được số ngẫu nhiên.
2: 87
4: 94
1: 116
5: 108
3: 95
Tại sao dòng mã lại quan trọng? Cảm ơn!
Tôi đoán việc vô ích khi đánh dấu các câu hỏi như vậy là do có lẽ khoảng một phần ba trong số tất cả các câu hỏi * ngẫu nhiên - được gắn thẻ là cùng một vấn đề .. – Joey