计算机不可能产生完全随机的数字。所谓的随机数发生器都是通过一定的算法对事先选定的随机种子做复杂的运算,用产生的结果来近似的模拟完全随机数,这种随机数被称作伪随机数。伪随机数是以相同的概率从一组有限的数字中选取的
无重复
Random rand = new Random(Guid.NewGuid().GetHashCode());
因为这叫伪随机数,根据一个常量,每次的结果定然一样的,实际上当算法固定后,输出的结果是已知固定的。所以你固定是5,结果总是一样的,你可以定义到函数外,作为成员变量,初始化后,每次获得的就不同了。但每次软件运行第n次总是和下次软件运行一致,所以你可以用当前操作系统启动的时间戳来做种子,相对来说会算是随机。
Random random=new Random(Environment.TickCount);