您的位置首页生活百科

C#基础知识 - 数据类型-值类型

C#基础知识 - 数据类型-值类型

的有关信息介绍如下:

C#基础知识 - 数据类型-值类型

C#有两种类型:值类型和引用类型。

值类型的变量直接包含数据,

引用类型的变量则存储对数据(称为“对象”)的引用。

值类型的每个变量都有独立的存储空间;

因此,对一个变量执行的运算不会影响另一个变量( ref 和out 参数变量除外)

C#值类型又细分为简单类型、枚举类型、结构类型和可以为 null 的值类型

简单类型:

有符号的整型: sbyte 、 short 、 int 、 long无符号的整型: byte 、 ushort 、 uint 、 ulongUnicode 字符: charIEEE 二进制浮点: float 、 double高精度十进制浮点数: decimal布尔: bool

简单类型中各个类型的可变化范围。

枚举类型:格式为 enum E {...} 的用户定义类型

每个 enum 类型都有一个基础类型(必须是八种整型类型之一)

枚举列表中的每个符号代表一个整数值,一个比它前面的符号大的整数值。默认情况下,第一个枚举符号的值是 0。第 n 个符号值与第 n-1 个有关。

结构类型:格式为 struct S {...} 的用户定义类型

1、struct关键字用于创建结构体,结构体是值类型数据结构

2、使单一变量可以存储各种数据类型的相关数据

注意:

1、包含数据成员和函数成员的结构,与类类型相似

2、与类不同的是,结构是值类型通常不需要进行堆分配

3、不支持用户指定的继承,并且所有结构类型均隐式继承自类型 object

4、结构体中声明的字段无法赋予初值,类可以

5、通过struct构造函数创建实例,实际上是给struct的所有字段赋上了初值0。

ref关键字:用于将方法内的变量改变后带出方法外,例子如图。

注意事项:

方法的参数使用ref修饰时,调用该方法时也要加上ref关键字

out关键字:返回值多个,不限类型。

注意事项:

1、调用方法之前,需对out参数传递的变量声明。

2、使用out参数传递变量时,必须在方法内为其赋值,否则return的返回值没有意义。

3、方法的参数使用out修饰时,调用该方法时也要加上out关键字