一、值类型
值类型(包括:简单类型、枚举类型、结构类型)就是实际的数据,存储在堆栈中。简单类型主要包括数值类型、布尔类型。
sbyte (位数:8、范围:-128~127)
short (位数:16、范围:-32 768~32 767)
int (位数:32、范围:-2 147 483 648~2 147 483 647)
long (位数:64、范围:-9 223 372 036 854 775 808~9 223 372 036 854 755 807)
byte (位数:8、范围:0~255)
ushort (位数:16、范围:0~65 536)
uint (位数:32、范围:0~4 294 967 295)
ulong (位数:64、范围:0~18 446 744 073 709 551 615)
float (位数:32、范围:-3.4E+38 和 3.4E+38).有效数字为6-7
double (位数:64、范围:-1.79E+308 ~ +1.79E+308)有效数字为15-16
bool (true/false)
二、引用类型
引用类型 表示指向数据的指针,存储实际数据的引用。包括:类类型、接口类型、数组类型、委托类型。c# 中有两个预定义的引用类型 object 和 string 。
c#中,所有的类型都是直接或者间接继承自Object。
string 即字符串类型。
三、装箱和拆箱
1.装箱即将值类型转换为引用类型的 过程。如:int i=10;object obj=i;
2.拆箱即将引用类型转换为值类型的 过程。如上:int i=int(obj);即 i 的值为 10;
注意:拆箱是需要转换的,在拆箱前需要先判断是否可以转换为当前指定类型,若不判断 有可能出现报错