C#程序设计(第2版)郑卉2-1-3
14页1、,单元2 C#语言基础,C#程序设计 课程,数据类型转换,学习内容,基本数据类型转换,01,02,装箱和拆箱,目录页,PAGE OF CONTENT,隐式转换,显式转换,装箱和拆箱,知识点名称,根据自己的需要添加适当的文字,据研究,在幻灯片中,一页的文字最好不要超过200字,根据需要添加适当的文字,据研究,在幻灯片中,一页的文字最好不要超过200字,根据自己的需要添加适当的文字,据研究,在幻灯片中,一页的文字最好不要超过200字,根据自己的需要添加适当的文字,据研究,在幻灯片中,一页的文字最好不要超过200字,添加内容,添加内容,添加内容,添加内容,概述,类型转换:从一种数据类型改变为另一种数据类型。 目的:为了实现不同类型数据之间的混合操作 类型:基本数据类型间的转换(隐式、显式) 值类型和引用类型间的转换,隐式转换,01,系统自动进行的数据类型转换,不需要申明 int a=10; float b=a; /b=10 float a=0.5f; double b=a; string a=1+” ; string b=23+”; string c=a+b; /”123”,隐式转换的基本原
2、则: 允许数值范围小的类型向数值范围大的类型转换 允许无符号整数类型向有符号整数类型转换,隐式转换,1,隐式转换,1,float a, b; double c=1.5; decimal d=2.7m; a=1; b=c; c=a; c=d; d=a; string str=a+c;,/正确,数值范围小的类型可以向数值范围大的类型转换,/错误,double类型的数据范围比float的大且有效位数比float的多,/正确,数值范围小的类型可以向数值范围大的类型转换,/错误,decimal类型的有效位数比double的多,不能隐式转换,/str=“a1.5”,自动将1.5转换为“1.5”后 执行字符串连接操作,/错误,decimal类型的数据范围比float的小,不能隐式转换,隐式转换,1,显式转换,02,即强制转换,由用户明确指定转换类型,使用专门的格式或调用转换方法来实现 1) (数据类型名称)数据 int x=100; short z=(short)x; float b; double c=1.5; b=(float)c; 显式转换中可能导致数据的丢失 decimal d=123.45
3、M; int x=(int)d; /x=123,显式转换,2,2)使用方法进行数据类型的转换 Parse方法特定字符串转换为数值类型数据 数值类型名.Parse() string s1=“123”; int x=int.Parse(s1); string s2=“12.3”; int x=int.Parse(s2); float x=float.Parse(s2); ToString方法其他类型数据转化为字符串 变量名.ToString() double d=0.5; string s=d.ToSring(); Convert类string类型与其他数据类型之间的转换 decimal principal = Convert.ToDecimal(Console.ReadLine();,显式转换,2,装箱和拆箱,03,数值类型 引用类型 装箱和拆箱机制使得在C#类型系统中,任何值类型、引用类型 之间都可以进行转换。 装箱是将值类型转换为引用类型的过程 隐式转换:值类型 object 类型 拆箱将引用类型转换为值类型,是装箱的逆过程 显式转换: object类型值类型,装箱和拆箱使我们能够统一地来考察类型系统, 其中任何类型的值最终都可以按对象处理。,装箱和拆箱,3,装箱和拆箱,装箱和拆箱,3,例: int val = 100; object obj = val; /也可以写为object obj = (object)val Console.WriteLine (对象的值 = 0, obj); 这是一个装箱的过程,将值类型转换为引用类型,例: int val = 100; object obj = val; int num = (int) obj; Console.WriteLine (num: 0, num); 这是一个拆箱的过程,将值类型转换为引用类型,再由引用 类型转换为值类型,注:被装过箱的对象才能被拆箱,装箱和拆箱,3,谢谢学习,
《C#程序设计(第2版)郑卉2-1-3》由会员清晨86****784分享,可在线阅读,更多相关《C#程序设计(第2版)郑卉2-1-3》请在金锄头文库上搜索。