谁能给解释一下这个意思关于char的算法

来源:百度知道 编辑:UC知道 时间:2024/06/06 11:06:43
System.Random random = new Random();
number = random.Next();
Response.Write(((char)('A'+(char)(number % 26))).ToString());

这样输出来的是个大写字母 如果把A换成数字就输出一个随机数字
其他的明白就是
(((char)('A'+(char)(number % 26))) 不明白是怎么计算的 请各位指点一下

number % 26就是将一个随机数除以26取余数,也就是一个0-26的随机数,将一个char A加上一个0-26的随机数,就能获得一个A到Z的随机的大写字母(char和数字相加相当于在ASCII表上找到这个char对应的值,然后增加一个数字后找到哪个数字对应的char,比如'A'+3的结果是'D')。

首先,字母表里有26个字母,A是第一个。
把A往后数小于26个,那不是还是字母表里的一个吗?

(number%26)肯定是个小于26的数。