赤峰网站制作免费特效素材网站
2026/4/18 3:00:07 网站建设 项目流程
赤峰网站制作,免费特效素材网站,做玩网站怎么上传图片,网站没有做适配 怎么办显示转换和隐式转换为什么要转换#xff1f;类型转换#xff0c;把一个类型转成另外一个类型#xff0c;C#分为显示转换和隐式转换#xff0c;主要区分点在于需不需要我们自己写代码进行转化#xff0c;是否存在数据丢失问题。#xff08;编译器是否自动转换、是否存在数…显示转换和隐式转换为什么要转换类型转换把一个类型转成另外一个类型C#分为显示转换和隐式转换主要区分点在于需不需要我们自己写代码进行转化是否存在数据丢失问题。编译器是否自动转换、是否存在数据丢失问题隐式转换编译器自动转换并且不存在数据丢失的场景例如值类型把小空间的数赋值给大空间的变量 如int a10;double ba;//编译器自动转换Console.WriteLine(b);//10 数据没有丢失把派生类赋值给基类对象class Aninmal{} class Cat:Aninmal { public void Speak() { Console.WriteLine(miao); } }Aninmal aninmal基类 new Cat();派生类Aninmal aninmal new Cat();//派生类对象规则值类型小区间往大区间可以转换引用类型把子类对象赋值给父类对象有符号不能往无符号去转换显示转换什么是显示转换需要我们自己写转换代码但会出现数据丢失的情况语法需要转换的类型变量inta值类型显示转换int a1 300;byte a2 (byte)a1;//出现数据丢失Console.WriteLine(a2);//44int a3 -129;uint a4 (uint)a3;Console.WriteLine(a4);// 出现数据丢失引用类型的显示转换本质上是Animal对象转成Cat转换失败程序会直接崩溃Aninmal aninmal1 new Aninmal();//父类对象Cat cat (Cat)aninmal1;//强制转换cat类型但是本质上是Animal对象本质不能这样做但是编译不会报错cat.Speak();报错as和is如果想要类型安全转换不让程序崩溃可以通过as和is进行转换Aninmal aninmal1 new Aninmal();Cat cat aninmal1 as Cat;//如果转成失败为null 防止程序崩溃if (cat ! null) { cat.Speak(); }if(aninmal1 is Cat c)//先判断再转换aninmal是不是Cat对象如果是Cat对象转成c对象{c.Speak();//能调用但执行不了}is和as的区别as先类型判断在进行转换转换失败为null永远不抛异常、使用范围不能使用值类型is只有判断如果写成aninmal1 is Cat c模式匹配这种类型可以先判断在转换、返回值为true和false、可以使用任意类型注意//如果本质是Cat对象强制转成Cat对象可以整除转换Aninmal aninmal2 new Cat();//本质上是cat对象Cat cat1 (Cat)aninmal2;cat1.Speak();//能打印

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询