string s = "23";
int a = Convert.ToInt32(s[0]);
MessageBox.Show(a.ToString());
为什么输出结果是50????
------解决思路----------------------
字符串[]的索引得到的是字符char,char是字符类型,值是字符对应unicode值,数字和字母的unicode编码值与ascii相等,'2'对应的是50,把数值转换为int数值显然还是50,50的int再ToString显然就是"50"了。
你想要得到2,请改成 int a = Convert.ToInt32(s[0].ToString());
------解决思路----------------------
也就20分,诸位费了这么多口舌,我想说也没得说了。
------解决思路----------------------
int a = Convert.ToInt32(s[0]);
->
int a = Convert.ToInt32(s[0].ToString()); //2