读书人

C#中字符串转换为字符时出现的奇怪现象

发布时间: 2012-01-05 22:36:54 作者: rapoo

C#中字符串转换为字符时出现的奇怪现象
string a = "A"; => 此时内存中a等于"A"
char b = Convert.ToChar(a); => 此时内存中b不是等于'A',而是等于65'A'
Response.write(b); =>能正常显示A
当把b向数据库里的char字段输入时,报错,大概意思就是说65'A'不是字符,格式不对

为什么在内存中b会等于65'A'而不是'A'呢?

[解决办法]
ToChar通过使用指定的区域性特定格式设置信息,将指定 Object 的值转换为它的等效 Unicode 字符。
[解决办法]
显示:65'A' 是VS.NET调试器的功能,其中65是字符A的编码
[解决办法]
VS.NET调试器为了程序员的方便才那样显示的,把编码也同时显示出来
搂主没必要在意的
[解决办法]
65‘A'只是显示你看的,应该是你数据库操作出了问题吧
[解决办法]
A对应的asc码不就是65吗,这说明char保存的就是asc码把

读书人网 >C#

热点推荐