为什么我在这段代码中不断获得两个相同的随机值?

Lig*_*r86 1 c# random

可能重复:
为什么我的随机数生成器在C#中不是随机的?

我有以下代码:

        int a;
        int aa;

        Random aRand = new Random();
        Random aaRand = new Random();

        a = aRand.Next(20);
        aa = aaRand.Next(20);

        //if (a == aa)
        {
            Console.WriteLine(a + " " + aa);
            Console.ReadLine();
        }
Run Code Online (Sandbox Code Playgroud)

我假设aRand和aaRand是两个不同的值,但事实并非如此.我究竟做错了什么?我假设aRand和aaRand并不总是一样,但是它们一直都是一样的.

谢谢

Jas*_*son 6

这在Random()的文档中有明确说明:

默认种子值源自系统时钟并具有有限的分辨率.因此,通过调用默认构造函数紧密连续创建的不同Random对象将具有相同的默认种子值,因此将生成相同的随机数集.