数据类型
整数类型
浮点类型
注意:如果没有在后面标明f/d,则数据默认为double类型。如果一个浮点型变量没有被赋初值,那么默认是0,而不是0.0。
decimal类型
decimal类型表示128位数据类型,它是一种精度更高的浮点类型,其精度可以达到28位。(在货币计算时会用到这种类型,因为要求的精度更高)。
如果希望一个小数被当成decimal类型来使用,需要使用后缀m或M。
bool类型
布尔类型主要用来表示true/false值,C#中定义布尔类型时,需要使用bool关键字。bool类型的默认值是false。
引用类型
引用类型存储对值的引用。当修改引用变量的值的时候,被引用的变量值也会改变。
- object类
在C#中,所有类的基类都是object类。我们知道在C#中是要严格区分大小写的,但object和System.Object是等价的。
- string类
string和System.String也是等价的。string类的主要作用是简化字符串操作,省去了麻烦的字符数组。
string类型是特殊的引用类型,当一个string类型的值一旦被定义,就不能改变。之后再对它进行赋值操作时,其实是重新生成了一个新的同名的变量。
举例:
理论上,引用类型str1的值发生改变之后,str2的值也应该随之而改变,但是因为string类的特殊性,输出结果中只有str1发生变化。(其实最终相当于有三个变量:str1、str2、str1,最后这个str1是在内存中新生成的一个变量,与前面两个无关)
枚举类型
语法:enum 枚举名{ 值1,值2......}
枚举的特点:
- 枚举是一种描述性的名称
- 枚举定义一组有限的值,不能包含方法
- 对可能的值进行约束
- 枚举允许描述性名称表示整数值
举例:
数据类型装换
- 隐式类型转换
在某种条件下,系统自动完成类型转换。例如:double->int double->float char->int char->float......
情况①:两种类型兼容,例如double类型兼容int类型
情况②:目标精度大于原类型,例如double类型大于int类型
- 显式类型转换
语法:①(类型名)表达式 例:int b = (int)10.2;
②Convert.To类型名(表达式) 例:double a = 10.5;Convert.ToInt32(a);
Convert类是.NET自带的一个类库,作用是将一个类型转换为另外一个类型。
③类型名.Parse(表达式) 例:double a = 10.5;int c = Int.Parse(a.ToString());
PS:这种方法只针对数值类型
- 装箱和拆箱
注意:进行拆箱操作时的数据类型必须和原来是一致的否则会出现错误。
PS:静态类中的静态函数可以在主函数中使用类名直接调用。