现在的学到已经到了C#中,为什么会提出题目中特别常见的方法呢?请看下面这段代码。
static void Main(string[] args) { Console.WriteLine("请输入一个年份"); string str = Console.ReadLine(); int yearInt = Convert.ToInt32(str);//报异常 //int yearInt=outputNumber(Console.ReadLine()); bool result = Isyear(yearInt); if (result) { Console.WriteLine("闰年"); } else { Console.WriteLine("平年"); } Console.ReadKey(); }
这段代码是输入一个年份判断是闰年合适平年,对于这个类型的代码相信大家都可以很容易的写出来,但是对于我这种小白来说,一些细节性的问题就会暴露出来,比如在第4行代码中为什么要用string呢?我的第一感觉应该是用int的呀,因为年份不都是一串数字的吗?于是我尝试着把string改为int,很好!它居然报错了,既然错了就要找找为什么int就是错的呢?它给的提示是这样式儿的。“无法将string类型强制转换为int型”,但是看上面的代码也没有定义string类型,于是上网查资料,才发现不是类型的问题,而是console.readline()的问题。在代码“string str=console.readline()”中,用到了console.readline,而这种函数读取的是一行字符,返回string类型,所以在他的“=”前面才会定义为string类型的。
那么,console.read()是怎么回事呢?console.read()函数读取一个字符,返回int型。
以上是对这段代码的理解,如果谬误,欢迎斧正!