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码把