小弟C#有段代码有点不清楚,请高手讲解下

来源:百度知道 编辑:UC知道 时间:2024/06/16 22:12:12
string str = Console.ReadLine();
int n = int.Parse(str);
我的理解是将输入的值赋给string,然后将得到值的string转成int类型
我有2个疑问,1是不能int n=Console.ReadLine();而一定要过渡个string吗?
2是2个类型不一样怎么能转化的,由string到int
虽然可能很简单,可还是希望大家能帮帮我解决这个疑惑

Console.ReadLine();是从终端接收一行输入,返回类型是string,所以必须用是string,你想想啊,用户输入的,最直接的当然是字符串了啊。
如果你输入时25当然就是取字符2*10+5
如果输入时325当然就是取3*10*10+2*10+5了呀
如果你输入时非数字字符比如R123的时候,则异常,所以
int n = int.Parse(str);
这条语句外面一般要try一下

不能直接,外部输入都处理为string类型的,string 跟object类型都可以,都是c#中的基类

可以转换只是内容上的转换

如果你输入的值是数字类型(如'123')它可以从string转换到int但如果你输入的是由英文字母或是特殊字符(如'asdf')它就会报错