A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Liu阳 中级黑马   /  2013-10-20 23:32  /  1300 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Liu阳 于 2013-10-21 11:20 编辑

比如'a'+1 等于98 这是ascii吗?有没有可能等于其他值?如果有在什么情况下?求解答!!

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1 同学给你加分了!好好学习!蔡蔡和叶叶在黑马.

查看全部评分

7 个回复

倒序浏览
试一下这个代码
  1. static void Main(string[] args)
  2.                 {

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

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

回复 使用道具 举报
string a = "3";
char b='3';
Console.WriteLine(a+5);
Console.WriteLine(b+5);
输出:35 56
回复 使用道具 举报
不会变的,这个表示的就是ascii,c#中char类型采用Unicode 编码的16位字符类型。在C#中,char类型是无 符号的,其取值范围为0~65535。标准的8位ASCII字符集是Unicode字符集的子集,取值范围为0~127,因此,ASCII字符仍然是有效的C#字符串

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1 同学给你加分了!好好学习!蔡蔡和叶叶在黑马.

查看全部评分

回复 使用道具 举报
结果只有一个,不同类型之间运算,涉及类型转换,给你画个图图吧!

评分

参与人数 1技术分 +3 收起 理由
追溯客 + 3 同学给你加分了!好好学习!蔡蔡和叶叶在黑马.

查看全部评分

回复 使用道具 举报
这个结果应该是a1
老师的视频中有这个吧。
回复 使用道具 举报
杨靖 中级黑马 2013-10-21 14:39:20
7#
'a'+1等于98这个值asscii码,是字符a在asscii码中对应的位置向后移了一位对应的字符表示的值(字符b,对应asscii码98)
因为你前面没有加任何强转,所以'a'+1默认的值为int类型,所以为98。
如果(char)('a'+1)这样,此时返回的值因为被强转为char类型,所以为b。

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1 同学给你加分了!好好学习!蔡蔡和叶叶在黑马.

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马