麻烦解释下这几句

caleeoo 2010-10-23 09:41:58
string s = "123";
int n = Convert.ToInt32(s[1]);//1
n = Convert.ToInt32(s[1].ToString());//2
s.Insert(0,"0");//3
s = s.Insert(0, "0");//4
一与二,三于四的区别,为什么会这样
...全文
122 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjh200102 2010-10-25
  • 打赏
  • 举报
回复
GOOD,简洁明了
wuyq11 2010-10-23
  • 打赏
  • 举报
回复
int n = Convert.ToInt32(s[1]);char转int 50
n = Convert.ToInt32(s[1].ToString());char to string
s.Insert(0,"0");//索引位置插入0
s = s.Insert(0, "0");//索引位置插入0,0123
wubudang 2010-10-23
  • 打赏
  • 举报
回复
s[1]是char类型的,就是把'2'转换成int类型,结果是50;//1
phil999 2010-10-23
  • 打赏
  • 举报
回复
1和2,调用 toint32 的不同重载
3,在字符串前面插入 0,但是返回值被丢掉了,s还是123
4,s 变成 0123
appleyk 2010-10-23
  • 打赏
  • 举报
回复
s[1]和s[1].ToString一个char一个string类型,char类型的字符转化成Int32类型就是其字符对应的ASCII码值,比如(Int32)'A'=65,string类型的转化为int32是拆箱过程,就是1;其次s只调用了Insert方法,并没有将这个信息和内存地址给s,既此时s的值并没有被更新,所以认为"123",只需加个s=,就可以将更新s的值,既"0123"

111,129

社区成员

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

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

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