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设为静态的,或者单例封装一下就没问题了。

  

  

posted on 2012-12-12 16:09  逆心  阅读(747)  评论(0编辑  收藏  举报