c# 生成随机字符串的问题

在书上看到这样一段代码privatestringGenerateCheckCode(){intnumber;charcode;stringcheckCode=String... 在书上看到这样一段代码

private string GenerateCheckCode()
{
int number;
char code;
string checkCode = String.Empty;

Random random = new Random();

for (int i = 0; i < 4; i++)
{
number = random.Next();

if (number % 2 == 0)
code = (char)('0' + (char)(number % 10));
else
code = (char)('A' + (char)(number % 26));

checkCode += code.ToString();
}

Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));

return checkCode;
}

其中的
if (number % 2 == 0)
code = (char)('0' + (char)(number % 10));
else
code = (char)('A' + (char)(number % 26));
是什么意思啊
就是随机生成4位数字和字母混合的验证码 但不明白上面的2句是什么意思
展开
 我来答
cipherf
2009-12-30 · TA获得超过4.5万个赞
知道大有可为答主
回答量:2.3万
采纳率:67%
帮助的人:1.5亿
展开全部
%是求余,Random.next生成一个0到int32.maxvalue的值
因此number % 10的结果在0-9之间,加上0的ascii值就是0-9间的数字,% 26在0-25之间,加上A就是A-Z间的字母

if (number % 2 == 0) //如果number除以2的余数是0,即偶数
code = (char)('0' + (char)(number % 10)); //生成一个数字
else //否则
code = (char)('A' + (char)(number % 26)); //生成一个字母
zoufeng1126
2009-12-30 · TA获得超过315个赞
知道小有建树答主
回答量:94
采纳率:0%
帮助的人:95.1万
展开全部
if (number % 2 == 0)
code = (char)('0' + (char)(number % 10));
//输出0 - 9的数字字符,0的ascii码值加1-9 定位0-9的值,
再转换成字符输出。
else
code = (char)('A' + (char)(number % 26));
//输出A-Z的大写字母字符,通过'A'的ascii码值加0-26来定位A-Z的值,
再转换成字符输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韩流莱袭
2009-12-30 · TA获得超过156个赞
知道答主
回答量:325
采纳率:0%
帮助的人:0
展开全部
我也看不懂啊

好像跟“阿斯克码”有关系
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式