本帖最后由 luquansen 于 2012-10-21 20:15:41 编辑

解决方案 »

  1.   

               Random rm = new Random();
               for (int m = 0; m < count; m++)
                {
                    ArrayList templist = new ArrayList();
                    string[] list = new string[sunit.Count];
                    for (int n = 0; n < sunit.Count; n++)
                    {
      

  2.   

    朋友,你好,由于你把Random 这个类的实列化过程放在了循环中,由于循环速度非常快,而random是默认用系统时间为种子,循环几次近似用了相同的种子值,得到的数也就是相同的。你把random放在循环外就能避免这个问题。
      

  3.   

    Random 放在循环内,它就不是随机数了,而是取决于种子,如2楼所说,默认系统时间为种子,那么如果你的断点在循环外,Random时间是相同的,种子相同,生成的随机数也相同,断点在循环内,中断操作使循环延时,两次new Random时间不一样,种子也就不一样,生成的随机数就不同,