C#使用Random.next产生随机数,Random对象每次创建都会使用一个随机因子,默认应该是系统时间,当我们在极短的时间内创建大量Random对象时,由于随机因子是一样的,产生的随机数也会是一样的,如果只创建一次Random,并每次调用next产生随机数,那么每次产生的随机数会作为下次的随机因子,这样产生的随机数就不会相同了
Random rd = new Random(); for (int i = 0; i < 10; i++) { Console.WriteLine(rd.Next(-30, 30)); //每次的都不一样 //Console.WriteLine(new Random().Next(-30, 30)); //每次的都一样 }