for(int i=0;i<4;i++)
{Random random = new Random();
int v=random.Next(0, 10000) ;
}
循环4次,4次值竟然一样...

解决方案 »

  1.   


    Random random = new Random();
    for(int i=0;i<4;i++)
    {
    int v=random.Next(0, 10000) ;
      

  2.   

    大家使用一定要当心这个Random()正确:Random random = new Random();for(int i=0;i<4;i++)
    {int v=random.Next(0, 10000) ;
    }
      

  3.   

    Random random = new Random();
    放到for循环外面
      

  4.   

    csdn  回复这么快...我只是让大家注意这个问题...
      

  5.   

     把他放到列表里面,然后比对一下,如果一样的话,就舍弃重新循环啦
    public int[] Result(int m)
            {
                Random rd = new Random(~unchecked((int)DateTime.Now.Ticks));
                List<int> lit = new List<int>(m);
                for (int i = 0; i < m; i++)
                {
                    int intT = rd.Next(1, 100);
                    if (lit.Contains(intT))
                    {
                        --i;
                        continue;
                    }
                    else
                    {
                        lit.Add(intT);
                    }
                }
                           return Result;
            }
      

  6.   

    Random random = new Random();放到循环外面是对的
      

  7.   

    接分考虑性能也不该频繁的new Random
      

  8.   

    http://msdn.microsoft.com/zh-cn/library/ctssatww.aspx不常用这个
      

  9.   

    最简单的模式,是把它直接声明为static的。这样你才找不到机会抱怨“该死的”呢!
      

  10.   

    我好像也听说过 。这个random是个伪随机函数。不是完全意义上的彻底投掷骰子意义上的随机。菜头,随便说的。顺便挣积分。嘎嘎。
      

  11.   

    我也遇到过这个问题,它是需要初始化的,可以直接在里面放个值Random random = new Random(0);