- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4类型转换
源程序解读 (1)第一个打印结果,说明将decimal数字类型转换为double数据类型时,数据值发生的变化,小数部分进行了四舍五入。 (2)第二个打印结果,说明将float数字类型转换为int数据类型时,数据值发生的变化,小数部分没有进行四舍五入。 (3)第三、第四和第五个打印结果,说明在进行数字转换后由于数值产生变化,导致计算结果的差别。 (4)float数字类型和decimal数字类型之间不支持操作符“*”,必须将float变量转换为decimal类型,才能相乘得到一个decimal类型的结果。 例8:字符类型与数字类型的转换 字符类型和数字类型可以实现相互转换,其中字符转换为数字类型,可以使用隐式转换进行,数字类型转换为字符类型,需要使用显示转换。 本示例说明了如何在字符类型和数字类型之间进行转换,技术要点如下。 字符类型可以隐式转换为ushort、int、uint、long、ulong、float、double和decimal类型,不能从其他数据类型隐式转换为字符类型。 数字类型变量在转换为字符类型时,首先转换为整型类型,如果数字类型变量带有小数部分,就截掉小数部分,在转换为字符类型。 using System; using System.Collections.Generic; using System.Text; namespace CharToNumber { class Program { static void Main(string[] args) { char testchar1 = a; int testint1 = testchar1;//隐式转换,将chat类型赋值给int类型 Console.WriteLine(字符{0}的整数值是:{1}, testchar1, testint1); decimal testdecimal2 = 114.9923m;//decimal类型变量赋值加后缀“m” char testchar2 = (char)testdecimal2;//显式转换,将decimal类型赋值给chat类型 Console.WriteLine(小数{0}表示的字符是:{1}, testdecimal2, testchar2); Console.ReadLine(); } } } 源程序解读 (1)本示例中使用隐式转换将字符类型变量testchar1转换为整数类型变量testint1.使用显示转换将数字类型变量testdecimal2转换为字符类型变量testchar2. (2)将decimal类型的变量testdecimal2转换为字符时,实际上是先将testdecimal2不作四舍五入,直接获取整数部分,转换为整数值114,再将整数值114转换为字符r。 // Animal是Giraffe的基类 Giraffe g = new Giraffe();// 创立一新的派生类型 Animal a = g; // 到基类的隐式转换是安全的 // 显式转换要求强制转换到派生类型。如果右边对象不是Giraffe运行时抛异常 Giraffe g2 = (Giraffe) a; 引用类型之间的强制转换操作不会更改下层对象(在堆上)的运行时类型;仅改变该下层对象的引用(在堆栈上)的类型。派生类到基类的强制转换通常没有问题;但派生类对象先隐式转换为基类,再强制转换为基类的另一派生类,将引起运行时异常InvalidCastException。如, class Animal{ } class Reptile : Animal { } class Mammal : Animal { } class UnSafeCast { static void Main() { Test(new Mammal()); } static void Test(Animal a) { //引起运行时异常InvalidCastException,因Mammal不能转化为Reptile Reptile r = (Reptile)a; } } 可用C#提供的is和as运算符,在实际执行强制转换之前测试兼容性。 转换操作符 转换运算符可将对象从一种类型转换为另一种类型。转换运算符可以是隐式的或显式的。隐式转换运算符不需要在源代码中指定类型转换即可执行转换。显式转换运算符则要求在源代码中指定类型转换才能执行转换
您可能关注的文档
- 转译.ppt
- 权威RIP教程.ppt
- 数字信号3.ppt
- 第四讲 词类转换法.ppt
- HP_BladeSys_Power_cooling_cn.ppt
- Unit 9 词类转换法.ppt
- 生产部门.ppt
- 5冷却系.ppt
- 刘冠松科研训练.doc
- 42 拉普拉斯变换的定义、收敛域.ppt
- UNESCO -全球教育监测报告 引领教育技术发展 东亚篇 Global Education Monitoring Report, Regional edition on Leadership in Education, East Asia Lead for technology, executive summary.docx
- 地产2025中秋国庆太空研学之旅(太有可玩 超月想象)活动策划案.docx
- 营销策划 -商界产业|魅力中国专案.docx
- 山下有松十周年.docx
- 人工智能、网络安全与国家安全(英文).docx
- 2024深圳京基智慧科园产业园项目营销推广破局思考提案【城市产业园推广】【商业地产推广】.docx
- 2025商场地产开学季迎新市集“水灵灵开学计划”主题活动策划方案【开学活动】.pdf
- 2025年奢侈品引力场—抖音季度热点+冬季刊-巨量引擎.docx
- 人工智能行业北交所AI产业链深度报告系列:人工智能掀起软件更新大潮.docx
- 2025年上半年中国零售地产与消费市场年度研究报告.docx
最近下载
- 新学期七年级开学第一课初一开学第一课班会ppt课件.pptx VIP
- ISO∕IEC 20000-12018《信息技术服务管理第一部分:服务管理体系要求》之5-“5.1领导作用和承诺”理解与应用指导材料.docx VIP
- 学会思考主题班会课件.pptx VIP
- 新概念英语第一册Lesson77-78笔记(语法点+配套练习+答案).docx VIP
- 厂区闭环管理方案.docx VIP
- ISO∕IEC 20000-12018《信息技术服务管理第一部分:服务管理体系要求》之6-“5.2方针”理解与应用指导材料.docx VIP
- 2025年新疆维吾尔自治区乌鲁木齐市小升初入学分班考试语文考试真题含答案.docx VIP
- 《当代电视播音主持教程》课件.pptx VIP
- 企业、事业单位专职消防站建设技术规范地方标准(DB61∕T1016-2016).pdf VIP
- 05S502阀门井图集完整版.pdf VIP
文档评论(0)