string strchar = "1,2,3,4,5,6,7,8,9,0";
        string[] VcArray = strchar.Split(',');
        string VNum = "";
        //记录上次随机数,以避免产生几个一样的随机数
        int temp=-1;
        //采用一个简单的算法以保证生成随机说
        Random rand = new Random();
        for (int i = 1; i < 5; i++)
        {
            if (temp != -1)
                rand = new Random(i*temp*unchecked((int)DateTime.Now.Ticks));
            int t = rand.Next(10);
            temp = t;
            VNum +=VcArray[t];
        }
        Session["Valid"] = VNum;
        return VNum;//返回生成的随机数;
我不理解rand = new Random(i*temp*unchecked((int)DateTime.Now.Ticks));的作用,请帮指点一下.
谢谢/

解决方案 »

  1.   

    冒泡接点分MSDN里没讲到么?为何未看看Random
      

  2.   

    unchecked操作符用于整型算术运算时控制当前环境中的溢出检查
    DateTime.Now.Ticks 取微秒然后乘以temp最终目的是建立一个数字
      

  3.   

    那么rand=new Random(参数)中的参数和rand.next(参数)中的参数不一样吗?他们有什么区别?
      

  4.   

    那么rand=new Random(参数)中的参数和rand.next(参数)中的参数不一样吗?他们有什么区别?
      

  5.   

    高质量的验证码图片,随机字符+随机波形变换+随机干扰曲线
    参看:http://codegear.cn