比较笨的1--100随机数

private string Random100()
    {
        DateTime datetime1 = DateTime.Now;
        ArrayList intList = new ArrayList();
        for (int i = 0; i < 100; i++)
        {
            intList.Add(i + 1);
        }
        int[] ResList = new int[100];
        DateTime time1 = DateTime.Now;
        for (int i = 0; i < 100; i++)
        {
            DateTime time2 = DateTime.Now;
            int count = 0;
            while (time1 == time2)
            {
                count += 1;
                time2 = DateTime.Now;
            }           
            int randomNum = 0;
            Random rd = new Random();
            randomNum = rd.Next(2, intList.Count+2);
            int RealNum = int.Parse(intList[randomNum-2].ToString());
            ResList[i] = RealNum;
            intList.Remove(RealNum);
            time1 = time2;
        }
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < ResList.Length; i++)
        {
            if (i % 20 == 0)
                sb.Append("<br>");
            sb.Append(ResList[i].ToString()+",");
        }
        DateTime datetime2 = DateTime.Now;
        TimeSpan ts = datetime2 - datetime1;//1.5625秒?!
        return sb.ToString().TrimEnd(',')+"<br><br>时间:"+ts.ToString();
    }
//随机数是产生了,但时间太长了,1秒多,时间基本花在while上
//为什么DateTime时间的跳转都是15、16毫秒而不是1毫秒呢?
posted @ 2009-10-16 22:10  WarCraftIII  阅读(296)  评论(0编辑  收藏  举报