C#基础知识 - 数据类型-值类型
C#有两种类型:值类型和引用类型。值类型的变量直接包含数据,引用类型的变量则存储对数据(称为“对象”)的引用。
工具/原料
visual studio 2015
值类型
1、值类型的每个变量都有独立的存储空间;因此,对一个变量执行的运算不会影响另一个变量( ref 和out 参数变量除外)
2、C#值类型又细分为简单类型、枚举类型、结构类型和可以为 null 的值类型
3、简单类型:有符号的整型: sbyte 、 short 、 int 、 long无符号的整型: byt髫潋啜缅e 、 ushort 、 uint 、 ulongUnicode 字符: charIEEE 二进制浮点: float 、 double高精度十进制浮点数: decimal布尔: bool
4、简单类型中各个类型的可变化范围。
5、枚举类型:格式为 enum E {...} 的用户定义亿姣灵秀类型每个 enum 类型都有一个基础类型(必须是八种整型类型之一)枚举列表中的每个符号代表一个整数值,一个比它前面的符号大的整数值。默认情况下,第一个枚举符号的值是 0。第 n 个符号值与第 n-1 个有关。
6、结构类型:格式为 struct S {...} 的用户定义类型1、struct关键字用于创建结构体,结构体是值类型数据结构2、使单一变量可以存储各种数据类型的相关数据注意:1、包含数据成员和挣窝酵聒函数成员的结构,与类类型相似2、与类不同的是,结构是值类型通常不需要进行堆分配3、不支持用户指定的继承,并且所有结构类型均隐式继承自类型 object4、结构体中声明的字段无法赋予初值,类可以5、通过struct构造函数创建实例,实际上是给struct的所有字段赋上了初值0。
特殊情况
1、ref关键字:用于将方法内的变量改变后带出方法外,例子如图。注意事项:方法的参数使用ref修饰时,调用该方法时也要加上ref关键字
2、out关键字:返回值多个,不限类型。注意事项:1、调用方法之前,需对out参数传递的变量声明。2、使用out参数传递变量时,必须在方法内为其赋值,否则return的返回值没有意义。3、方法的参数使用out修饰时,调用该方法时也要加上out关键字