private string GenerateCheckCode()
    {
        //创建整型型变量
        int number;
        //创建字符型变量
        char code;
        //创建字符串变量并初始化为空
        string checkCode = String.Empty;
        //创建Random对象
        Random random = new Random();
        //使用For循环生成4个数字
        for (int i = 0; i < 4; i++)
        {
            //生成一个随机数
            number = random.Next();
            //将数字转换成为字符型
           code = (char)('0' + (char)(number % 10));                     checkCode += code.ToString();
        }
        //将生成的随机数添加到Cookies中
        Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));
        //返回字符串
        return checkCode;
    }
红色部分为何要nunber % 10?有什么作用?同时code = (char)('0' + (char)(number % 10));中的0干什么,为何要加上这个0呢?

解决方案 »

  1.   

    %10 表示这个数字是10以内, 
    '0'+这个数字,表示从0开始的第几个char
      

  2.   

    这句也可写成
       char code = (number%10).ToSt
    ring()[0];
      

  3.   

    谢谢老师,但number%10得不是一个余数吗?假设number%10得到是一个7,那么'0'+'7'='07'吗?
      

  4.   

    不是'0'+'7'
    是'0'+ (char)7
      

  5.   

    不是'0'+'7' 
    是'0'+ (char)7 
    -------------------------------------------------------------------------------------
    老师还是不大理解这个0的作用,我知道这里下0的话就是说数字是0~9之间的数。但是还是很迷糊
      

  6.   

    '0'是一个char
    如果我要得到他后面char就是'0'+1 也就是 '1' 
    '0'+1 前面是char 后面的1是ascii码.不是char'0'+1 也就是 48+1 = 49 注:0的ascii=4849也就是'1'