日期:2014-05-18  浏览次数:20791 次

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