黑马程序员技术交流社区

标题: 字符char求解 [打印本页]

作者: Liu阳    时间: 2013-10-20 23:32
标题: 字符char求解
本帖最后由 Liu阳 于 2013-10-21 11:20 编辑

比如'a'+1 等于98 这是ascii吗?有没有可能等于其他值?如果有在什么情况下?求解答!!
作者: haxyek    时间: 2013-10-21 09:26
试一下这个代码
  1. static void Main(string[] args)
  2.                 {

  3.                         Console.WriteLine('a'+1);
  4.                         Console.ReadKey();
  5.                 }
复制代码

作者: 小人渣子    时间: 2013-10-21 10:11
string a = "3";
char b='3';
Console.WriteLine(a+5);
Console.WriteLine(b+5);
输出:35 56
作者: 淡忘回忆    时间: 2013-10-21 10:25
不会变的,这个表示的就是ascii,c#中char类型采用Unicode 编码的16位字符类型。在C#中,char类型是无 符号的,其取值范围为0~65535。标准的8位ASCII字符集是Unicode字符集的子集,取值范围为0~127,因此,ASCII字符仍然是有效的C#字符串
作者: 重新开始    时间: 2013-10-21 11:48
结果只有一个,不同类型之间运算,涉及类型转换,给你画个图图吧!


作者: 李小熊    时间: 2013-10-21 13:27
这个结果应该是a1
老师的视频中有这个吧。
作者: 杨靖    时间: 2013-10-21 14:39
'a'+1等于98这个值asscii码,是字符a在asscii码中对应的位置向后移了一位对应的字符表示的值(字符b,对应asscii码98)
因为你前面没有加任何强转,所以'a'+1默认的值为int类型,所以为98。
如果(char)('a'+1)这样,此时返回的值因为被强转为char类型,所以为b。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2