今天在写一个很简单的输入一个整数的时候,发现C#的类型转换控制的确实很严,有些可以在VB中可以隐式转换的现在不行了:比如,在不会发生数值丢失或溢出时,也不会将返回的字符型的值转换给double这些小数。另外,在c里面的一些强制类型转换也不能使用,比如:int i=(double)(string类型的值);这个也不能通过,因为不存在String到double的显示类型转换(但是存在别的类型的强制转换)。
虽然这样在写代码时,就要时刻注意数据类型的一致性了,但是,也使得代码更加严密了。
今天要用Console.ReadLine()读入一个数的时候,由于默认读入的数都是按照字符型数据处理的,所以,如果要用读入的数来进行运算的时候,还要把读入的字符型数据转换成数值型数据。
convert类提供了很多方法来实现转换,如图:
使用示例,输入成绩,判断等级,其中,对于分数的读入,就使用了convert类型转换,另外,要注意的是,convert是一个类,所以在使用前不用声明名称空间,但是要注意大小写。
static void Main(string[] args) { int i; Console.WriteLine("请输入你的成绩"); i = Convert.ToInt32(Console.ReadLine()); if (i >= 85) Console.WriteLine("优秀"); else if (i >= 70) Console.WriteLine("中"); else if (i >= 60) Console.WriteLine("及格"); else if (i < 60) Console.WriteLine("不及格"); else Console.WriteLine("输入非法"); }
今天上午写了几个小程序,发现即使平常自己能把视频上的例子运行出来,感觉听过的内容懂理解了,可是一到自己徒手写程序了,就大脑空白,连定义个数组都不会了,这个数据类型转换的例子就说明:要想知道自己哪里不会,就写写吧。