永发信息网

C# 中的as运算符和is运算符给个详解

答案:1  悬赏:30  手机版
解决时间 2021-11-07 23:36
C# 中的as运算符和is运算符给个详解
最佳答案
一、类型转换

**************************************************************************************************************
1.任何类型都可以转换为其基类类型,用隐式转换完成;
2.任何类型转换为其派生类型时,必须进行显示转换。如:(类型名)对象名;
3.使用GetType可以取得任何对象的精确类型;
4.基本类型可以使用Convert类实现类型转换;
5.除了string以外的其他类型都有Parse方法,用于将字符串类型转换成对应的基本类型;
6.值类型和引用类型的转换称为装箱(boxing)或拆箱(unboxing);
**************************************************************************************************************

二、is/as示例

is转换规则:

1. 检查对象类型的兼容性,并返回结果true(false);
2.不会抛出异常;
3.如果对象为null,刚返回false;

示例:

object o = "abc";
if (o is string) //执行第一次类型兼容性检查
{
string s = (string)o; //执行第二次类型兼容性检查,并转换
MessageBox.Show("转换成功!");
}
else
{
MessageBox.Show("转换失败!");
}

as转换规则:

1.检查对象类型的兼容性,并返回转换结果,如果不兼容则返回null;
2.不会抛出异常;
3.如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常;

示例:

object o = "abc";
string s = o as string; //执行第一次类型兼容性检查,并返回结果
if (s != null)
MessageBox.Show("转换成功!");
else
MessageBox.Show("转换失败!");

注:as比is少执行一次兼容性检查,性能可能会高一点点。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
速达3000在销售开单中怎么只查看一个客户的销
250VA变压器最大能承受多少KW负载?一般情况
朵唯L5手机相册加密了怎么看?
在秋审制度中,“案情属实,但危害不大,可留
怎样正确理解罗杰斯人本主义教育理论的非指导
钓鱼麝香和阿魏可以一起拌料吗
淘宝被顾客投诉,如果成立扣4分有什么影响
老子的介绍生平和主张300字
武清杨村八中和杨村五中相比那所中学好
我舅舅坐过牢,我老婆不让他进我家门
我怎么才能读懂你的心
9620046635225邮政快递从山南发了吗?
描写机器声音的成语
宁洱县公安局交警大队地址有知道的么?有点事
淡荡春光寒食天
推荐资讯
祥云县禾甸镇禾甸交警中队地址在什么地方,想
故地重游方塔园作文500字
enter your password什么意思
碧蓝航线舰娘都在哪掉落
2PM的成员有几人?和2AM有啥关系?
上海市闸北区农业银行在哪啊?我住在永和东闸
从大兴乘公交车到科技管怎样走
7个厚的管子焊缝拍片与9个厚的管子焊缝拍片有
上海公交卡能否在昆山使用
举个例子马是(啼)那么猿、龙、鹿、狮、鸭分
ebay议价中itemID怎么获取
杉木板做衣柜怎么样 杉木板价格
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?