引言
C#看了一些视频,总结了一个常识性的博客 (初见C#) ,接下来视频中讲到了几个练习题,按照视频里的顺序和代码敲当然没问题,很容易就出结果,不过敲完之后再分析每行代码意义和原因就分析出了这篇博客。
实现过程
首先代码
//让用户输入姓名 语文 数学 英语 三门课的成绩
//然后给用户显示:XX,你的总成绩为XX分,平均成绩为XX分
Console.WriteLine("请输入姓名");
string name = Console.ReadLine();
Console.WriteLine("请输入语文成绩");
string strChinese = Console.ReadLine();
Console.WriteLine("请输入数学成绩");
string strMath = Console.ReadLine();
Console.WriteLine("请输入英语成绩");
string strEnglish = Console.ReadLine();
double chinese = Convert.ToDouble(strChinese);//把字符串类型转换为double类型
double math = Convert.ToDouble(strMath);
double english = Convert.ToDouble(strEnglish);
double sum = chinese +math + english ;//计算总成绩
double avg = sum / 3;
Console.WriteLine("{0}你好,你的总成绩为{1},平均成绩为{2:0.0}",name ,sum ,avg );
Console.ReadKey();
很简单的计算成绩问题,不过为什么后来又要进行强制转换,将string类型转换成double类型呢?
接下来我注释了强制转换的几行,
好,无法转化那我就把sum定义成string,类型一样,没有红线报警了,运行
忘记了string不能用运算符计算。
那么既然后面卡住,那如果我开始定义的时候,就把变量直接定义为double就可以计算了,这想法没毛病吧。
无法转化?这句话的意思就是输入的是string类型。
那这样就可以暂时理解为:C#默认把输入的数据定义为string类型,后面需要计算时,则需要将该类型显式转换为double进行计算。
结语
基于目前浅显的学习,所以用暂时理解,不过相信在继续的深入学习之后,我看到的会更多。