在.Net行业,我还是根嫩草,看到这们的转换方式,傻眼了:Convert.ToChar(tem).ToString()
为什么先要转换为Char再String?
这样不很直接吗:
Convert.ToString(tem);完整代码如下:
private string GetRamdomValidate(int len)
{
int num;
int tem;
string rtuStr = "";
for (int i = 0; i < len; i++)
{
num = rm.Next();
//生成数字与字母组合的验证码
if (num % 2 == 0)
tem = num % 10 + '0';
else
tem = num % 26 + 'A';
/*用此方式会生成数字*/
// tem = num % 10 + '0';
// tem = num % 26 + 'A';//
rtuStr += Convert.ToChar(tem).ToString();
}
return rtuStr;
}
为什么先要转换为Char再String?
这样不很直接吗:
Convert.ToString(tem);完整代码如下:
private string GetRamdomValidate(int len)
{
int num;
int tem;
string rtuStr = "";
for (int i = 0; i < len; i++)
{
num = rm.Next();
//生成数字与字母组合的验证码
if (num % 2 == 0)
tem = num % 10 + '0';
else
tem = num % 26 + 'A';
/*用此方式会生成数字*/
// tem = num % 10 + '0';
// tem = num % 26 + 'A';//
rtuStr += Convert.ToChar(tem).ToString();
}
return rtuStr;
}
至於為什麼就沒搞清楚。
int tem = 'A'; // tem = 65tem.ToString(); // 65 -print an integer
((char)tem).ToString() // A -print a character
Convert.ToString(tem);就OK了
至于它那样写是因为想将tem转换成字符型的
那样只是更加的强调一些罢了吧!
用Convert.ToChar(tem).ToString()很合理啊。
原因:
在内存里,字符就是数字,所以字符和数字可以一起计算
如果直接转换成了字符串了,那就是字符和数字一起计算出来的数字组成的字符串了
因此要先转成字符,然后转成字符串
int tem = 'A'; // tem = 65tem.ToString(); // 65 -print an integer
((char)tem).ToString() // A -print a character
这里结果是65啊,不对:
((char)tem).ToString() // A -print a character 我觉得应该这样理解:
原因:
在内存里,字符就是数字,所以字符和数字可以一起计算
如果直接转换成了字符串了,那就是字符和数字一起计算出来的数字组成的字符串了
因此要先转成字符,然后转成字符串
Console.Write(((char)tem).ToString());原因可能是这样,先用(char)tem将其转换成一个字符,
由于这里要求返回字符串,于是用ToString()方法再将其转换成字符串类型。
直接用tem.ToString()会被解释为数字。
多谢各位相助!