日期:2014-05-17  浏览次数:20798 次

关于一个C#字符数组的问题
请问大神
 string sss=Console.ReadLine();
            char[] ch = sss.ToCharArray();
            int aaa=ch [0]*7;


假如我输入的是,330
那么,aaa最后输出为什么不是21??????而是一个很大的数????

------解决方案--------------------
单步调试一下,你会看到每个变量的变化,
 int aaa=ch [0]*7;//如果你输入的是330,那么ch[0]是51,,51*7=357。
------解决方案--------------------
转成对应的asc码值了吧 3按键对应51
------解决方案--------------------
可以这样:
 string sss = Console.ReadLine();
            char[] ch = sss.ToCharArray();
            int aaa = (Convert.ToInt32(ch[0].ToString())) * 7;
            Console.WriteLine(aaa);

------解决方案--------------------
引用:
转成对应的asc码值了吧 3按键对应51

是的,ch[0]是字符‘3’对应数字51,所以是51*7

你可以这样

   string sss = Console.ReadLine();
            char[] ch = sss.ToCharArray();
            int aaa = (ch[0]-'0') * 7;