每次应用程序运行时,随机类C#打印值相同

Pet*_*ras 0 c# random

我希望每次应用程序运行时使用Random类获得随机值,并且只有在我更改种子值或初始化随机类时才会有所不同.

我声明Random random = new Random();为全局参数.

然后我打印3个随机双打:

for (int i = 0; i < 3; i++) 
 Console.WriteLine(random.NextDouble())
Run Code Online (Sandbox Code Playgroud)

每次应用程序运行时我都会得到不同的值

例如,我第一次运行应用程序时得到值0.454,0.256,0.100

第二次0.578,0.123,0.001

但我想要的是,每次应用程序运行时,我都会得到相同的数字

例如我第一次运行app我得到0.454,0.256,0.100第二次0.454,0.256,0.100

chr*_*ode 7

为随机构造函数提供一个种子,例如1,尽管它可以是任何数字:

Random random = new Random(1);
Run Code Online (Sandbox Code Playgroud)

现在,每次你得到相同的数字,所以它不会是随机的.如果您不提供,则默认情况下将当前时间戳作为种子,因此您可以通过控制种子来控制值.

这是一个完整的解决方案:

static void Main(string[] args)
        {
            Random random = new Random(1);


            for (int i = 0; i < 3; i++)
                Console.WriteLine(random.NextDouble());

            Console.Read();
        }
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

0.248668584157093
0.110743977181029
0.467010679872246
Run Code Online (Sandbox Code Playgroud)