Ch02.数据类型、变量和常量.ppt_第1页
Ch02.数据类型、变量和常量.ppt_第2页
Ch02.数据类型、变量和常量.ppt_第3页
Ch02.数据类型、变量和常量.ppt_第4页
Ch02.数据类型、变量和常量.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2章通用类型系统(CTS)的层次值类型、参考类型和差异包装和包装的基本概念变量的命名,以及宣言、分配、分类和作用域字典定义的基本数据类型的使用类型转换方法(隐式转换、显式转换(强制转换)和cos),提供了语言间互操作的基本框架“值类型”(value type)变量将数据直接包含在堆栈中,每个变量包含自身数据的副本(也包含nullable type、2.1.3引用类型和reference type中的变量的数据) 参照类型包括“类类型”(class type)、“介面类型”(interface type)、“数组类型”(array type)和委派类型(Ref1,ref2为参照类型)。将运行结

2、果与内存分配图表进行比较。2.1.4包装和取消包装,所有类型的C#均为System .从Object根类型继承,所有值类型都是System .ValueType类型“装箱”(pkg)和“取消装箱”(boxing)允许继承值类型和参照类型之间的转换。装箱转换是指将值类型隐式或显式转换为object类型,或者应用于值类型的介面类型(interface-type)装箱转换是指将对象类型显式转换为值类型。或者,可以将介面类型明确转换为运行接口的值类型示例2.2“装箱”和“取消装箱”示例,2.2变量-变量的命名约定。变量名的第一个字符必须是字母和下划线(“_”),以C#定义的关键字不能用作变量名。但是,

3、您可以将带有关键字的变量名称myVar、_strName、obj1、namespace定义为有效的变量名称99var、ItsOK和namespace。NET Framework通常遵循两种茄子命名约定PascalCase,变量分配:变量=要分配的值C#变量必须在访问之前初始化。否则,编译时将报告错误。因此,无法访问未初始化变量示例2.3的宣言和赋值示例、变量2.2.3的分类以及C#。变量分为7种茄子类型:静态变量、非静态变量(即实例变量instance variables)、数组元素(array elements)和值参数(value parameters)局部变量的作用域局部变量是在for、

4、While或类似语句中声明的局部变量,位于表示声明变量的块语句或方法结束的闭合大括号之前的作用域中,在循环体2中。存在于局部变量的作用域冲突中。不能在同一作用域中声明两次。3.字段和局部变量的作用域冲突可以定义与类方法中定义的字段名相同的局部变量。冲突示例2.4变量的作用域示例,2.3常量,声明和初始化变量时位于变量前面常数的命名惯例通常使用宣言时必须初始化的大写常数。指定值后,不能再修改值。常量始终是静态的,但修改量static 示例2.5常量的宣言和分配示例、2.4预定义数据类型、C#的内置值类型不必表示基本数据类型,包括整数、浮点类型、decimal类型、bool类型和字符类型。C#支持

5、八种字典定义的整数类型:object和string、2.4.1整数和C#(请参阅表2-2)。分别支持8位、16位、32位和64位整数值的有符号和无符号格式示例2小数计算中使用的计算示例2.7浮点类型变量示例,2.4.3 decimal类型,C#支持高精度小数类型(decimal),如表2-6所示Decimal数据类型通常用于财务计算。也就是说,货币值示例2.8decimal类型变量示例,2.4.4 bool类型,C#的bool数据类型用于逻辑操作,包含bool值true或false 示例2.9的4位十六进制unicode值,例如u0041特殊符号是转义序列表示示例2.10字符类型变量示例,2.

6、4.6 object类型,object类型是C#编程语言类层次结构的根类型,object是System .Object的别名,所有类型都隐式派生自system,Object类型执行基本的通用方法,如Equals()、GetHashCode()、GetType()和ToString()、2.4.7 string类型。C#字符串处理string(System .String的别名)类型,由0个或多个unicode字符组成的序列string是引用类型C#支持的两种茄子格式的字符串普通字符串双引号括起来的0个或多个字符组成(例如hello),还包括简单的转义序列(例如表示制表符的t)、十六进制转义序列

7、简单的示例是字符串类型变量hello 示例2.11的示例。2.4.8可以为空类型,也可以为空类型。可以为空类型。表示值类型变量,该变量可以为空值。值范围是基础值类型正常范围内的值加上null值。例如,bool?(Nullable)值包含true、false或null牙齿。可以为null的类型通常用于不能分配的包含元素的数据类型。可以为null的类型的宣言语法是t?x;或Nullable x;其中t是值类型。语法t?Nullable的缩写。可以将值分配给Null类型的方法与将值分配给常规值类型的方法相同。示例:int?X=10示例2.12可以是空类型示例、2.5类型转换或隐式转换。仅允许在较小值范围内发生的类型到较大值范围的类型转换。转换后的数值不受影响。但是,如果未定义相应的转换操作符,则从int、uint或long到float和从long到double的转换精度为:在自定义

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论