C# 小意外整理

一、Random生成随机数重复的问题

  Random在生成随机数的时候,如果生成的时间非常短,那么很可能会出现生成的随机数重复的问题。

  示例:

       static void Main(string[] args)
        {
            for (int i = 0; i < 10; i++)
            {
                Random random = new Random();
                Console.WriteLine(random.Next(1, 100));
            }
            Console.ReadKey();
        }

  输出如下:

  

  解决方案:只使用一个Random类。

        static void Main(string[] args)
        {
            Random random = new Random();
            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine(random.Next(1, 100));
            }
            Console.ReadKey();
        }

  由此可推出,将Random设为静态的,或者单例封装一下就没问题了。

  

  

原文地址:https://www.cnblogs.com/kissdodog/p/2814830.html