欢迎来到天天文库
浏览记录
ID:50044666
大小:1.19 MB
页数:29页
时间:2020-03-08
《C#面向对象基础教程 教学课件 作者 宋楚平 周建辉 第4章 类型转换和命名空间.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、学习目标正确完成隐式和显式转换;理解和掌握装箱和拆箱操作;合理利用命名空间来组织应用程序的结构;声明和引用命名空间,利用别名来简化编程。第四章类型转换和命名空间24.1类型转换C#中数据类型的转换可以分为两种形式:隐式转换和显式转换。第四章类型转换和命名空间4.1.1隐式转换【学一学】隐式转换可以分为数值类型隐式转换、枚举类型隐式转换和引用类型隐式转换,下面介绍前两种,而引用类型隐式转换将在单独的章节进行介绍。1.数值类型隐式转换下表4-1列出了C#支持的数值类型隐式转换。转换前的类型转换后的类型sbyteShort,int,long,float,double,decimalbyt
2、eShort,ushort,int,uint,long,ulong,float,double,decimalshortInt,long,float,double,decimalushortInt,uint,long,ulong,float,double,decimalintLong,float,double,decimaluintLong,ulong,float,double,decimalLong,ulongFloat,double,decimalfloatdoublecharUshort,int,uint,long,ulong,float,double,decimal表4-1C
3、#中的数值类型隐式转换34.1类型转换第四章类型转换和命名空间4.1.1隐式转换从表4-1可以看出,数值类型隐式转换实际上就是从低精度的数值类型到高精度的数值类型的转换。换句话说,就是从“小类型”到“大类型”或者是从无符号整数到有符号整数的转换。以下代码说明了这种形式的转换。bytex=16;Console.WriteLine("x={0}",x);ushorty=x;Console.WriteLine("y={0}",y);y=65535;Console.WriteLine("y={0}",y);floatz=y;Console.WriteLine("z={0}",z);上述代码
4、的运行结果如下:x=16;y=16;y=65535;z=65535;44.1类型转换第四章类型转换和命名空间4.1.1隐式转换2.枚举类型隐式转换枚举类型隐式转换允许把十进制整数0转换成任何枚举类型,而其它的整数则不允许这种隐式转换。例如,WeekDay是一个定义的代表星期的枚举类型,下列代码就说明了枚举类型的隐式转换。Weekdayday;day=0;Console.WriteLine(day);上述代码能正确编译并运行,如果将代码中的第2行更改为:day=1;则编译会出错,因为非十进制整数0不存在枚举类型隐式转换。54.1类型转换第四章类型转换和命名空间4.1.2显示转换【学一
5、学】显式类型转换,又叫强制类型转换。与隐式转换正好相反,显式转换需要用户明确地指定转换的类型。显式类型转换的语法格式如下:类型变量1=(转换后的类型)变量2;通过上述格式,编译器可以将右侧的值转换为括号中指定的数据类型,例如:intx=500;shortz=(short)x;//显式转换为short,z值为500显式转换可以分为数值类型显式转换、枚举类型显式转换和引用类型显式转换,下面只介绍前两种。数值类型显式转换数值类型显式转换是指当不存在相应的隐式转换时,将一种数值类型转换成另一种数值类型。下表4-2列出了C#支持的数值类型显式转换。转换前的类型转换后的类型sbyteByte,
6、ushort,uint,ulong,charbyteSbyte,charshortSbyte,byte,ushort,uint,ulong,charushortSbyte,byte,short,charintSbyte,byte,short,ushort,uint,ulong,charuintSbyte,byte,short,ushort,int,charlongSbyte,byte,short,ushort,int,uint,ulong,charulongSbyte,byte,short,ushort,int,uint,long,charcharSbyte,byte,shortf
7、loatSbyte,byte,short,ushort,int,uint,long,ulong,char,decimaldoubleSbyte,byte,short,ushort,int,uint,long,ulong,char,float,decimaldecimalSbyte,byte,short,ushort,int,uint,long,ulong,char,float,double64.1类型转换第四章类型转换和命名空间4.1.2显示转换枚举类型显式转换枚举类
此文档下载收益归作者所有