请问如何在C#中把int转换成char?

fatcatman 2002-01-28 08:16:13
在tc2.0中:
char a;
a='a';
a=a+3;
得到a='d'
但在C#中说“无法将类型‘int’隐式转换为‘char’”。
请问这是为什么?
...全文
4141 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaixd 2002-01-28
  • 打赏
  • 举报
回复
同意顶楼和楼上
就是强制类型转换,多看点书吧
dx961 2002-01-28
  • 打赏
  • 举报
回复
MessageBox.Show(b.ToString());是输出b,b=100,当然得到100
dx961 2002-01-28
  • 打赏
  • 举报
回复
char a='a';
int b=int.parse(a.tostring());
这样当然不行,因为int32.parse()是将数字的字符串变量如"123","234"这样的转换成int型,()里只能是"123","234"这样全是数字的string型变量,a='a'是,a.tostring()是"a",将会抛出异常,
tgmgj 2002-01-28
  • 打赏
  • 举报
回复
在C中是字符型与整形是可以互换的。但是C#中与Java中一样,有严格的要求,不能这样做。在《C#完全手册》中有这样一句话:不存在到Char类型的隐式转换,这意味着其它整型值不能自动转换为Char型。
但可以采取显式转换的方式,做法可参考如下所示:
private void button1_Click(object sender, System.EventArgs e)
{
char a = 'a';
//int b = int.Parse(a.ToString()); //这样不行,为什么出错我还不清楚
int b = (int)a + 3;
a = (char)b;
MessageBox.Show(a.ToString()); //得到值为d
MessageBox.Show(b.ToString()); //得到值为100
}
dx961 2002-01-28
  • 打赏
  • 举报
回复
用强制转换就行了,
char a='a';
int i=(int) a;
int k=i+3;
char h=(char) k;
这样h='d'
conanbos 2002-01-28
  • 打赏
  • 举报
回复
object是所有成员的基类,都有一个tostring的方法,下面的你知道想吧。
Jneu 2002-01-28
  • 打赏
  • 举报
回复
Convert.ToInt32(a)

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧