零点起飞学C#之类型.pptx
;3.1什么是类型;指针类型(point-type):和C、C++语言中的指针类似,而且只能用作在不安全代码中。在C#编程中很少使用指针类型,因此,在此不做详细介绍。;;;3.2值类型;;3.2.1值类型的基础——System.ValueType类型;1;整数类型的变量的值为整型。根据各个变量所占位数空间的不同,C#语言提供了9种类型的整数类型,如sbyte、byte、short等。它们的具体说明、.NETFramework中的名称和取值范围如下表所示。;;long类型;;;3.2.3浮点型;正无穷大和负无穷大:无穷大是由非零数字被零除这样的运算产生的。例如,1.0/0.0产生正无穷大,而–1.0/0.0产生负无穷大。;;3.2.4decimal类型;;;3.2.5bool类型;;3.2.6枚举类型;【示例3-13】下面声明一个名称为Week的枚举类型。
01 enumWeek//声明一个枚举类型
02 {
03 Sunday=0,
04 Monday,
05 Tuesday,
06 Wednesday,
07 Thursday,
08 Friday,
09 Saturday
10 }
;;【示例3-14】下面声明一个名称为File的枚举类型,并添加了位标记Flags。
[Flags]
enumFile//声明一个枚举类型
{
None=0,
Read=1,
Write=2,
Delete=4
};;;3.3引用类型;3.3.1类类型;3.3.2对象类型;3.3.3字符串类型;【示例3-18】下面声明一个类型为string的、名称为s1的变量,并赋值为2012字符串。然后对s1变量执行赋值操作,并设置s1变量的值为2013字符串。;执行“s1=2013;”语句的前后内存分别如下图所示。;3.3.4数组类型;;【示例3-20】下面声明一个名称为Iinterface的接口。该接口声明了一个名称为Name的属性。
01 interfaceIinterface//声明一个接口Iinterface
02 {
03 stringName
04 {
05 get;
06 set;
07 }
08 }
?注意:在接口中只能声明属性、方法和事件,而不能实现这些属性、方法和事件。接口只是一种协定。实现某接口的类或结构必须遵守该接口定义的协定。
有关接口类型的知识将在第11章中进行详细介绍。
;;;;;【示例3-22】下面首先声明一个类型为int的、名称为i的变量,并赋值为10。然后进行装箱,并将装箱后的引用赋值给变量o(类型为object)。即对“objecto=i;”表达式进行一次装箱操作。;;3.4.2拆箱;【示例3-23】下面首先声明一个类型为int的、名称为i的变量,并赋???为10。然后进行装箱,并将装箱后的引用赋值给变量o(类型为object)。即对“objecto=i;”表达式进行一次装箱操作。最后,对o对象进行拆箱,强制转换为int类型,并赋值给j变量。即对“intj=(int)o;”表达式进行一次拆箱操作。;;