博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CLR via 笔记4.2 类型转换 is 与 as 区别
阅读量:4616 次
发布时间:2019-06-09

本文共 731 字,大约阅读时间需要 2 分钟。

is 和 as 操作符是用来进行强制类型转换的 is : 检查一个对象是否兼容于其他指定的类型,并返回一个Bool值,永远不会抛出异常         object o = new object();         if (o is Label)          {
Label lb = (Label)o; Response.Write("类型转换成功"); } else {
Response.Write("类型转换失败"); } 在上面的代码,CLR实际上会检查两次对象的类型,is操作符先核实一次,如果o兼容于Lable,那么在(Label)o时会再次核实一次,效率比较低,不建议使用 as:与强制类型转换是一样的,但是永远不会抛出异常,即如果转换不成功,会返回null object o = new object(); Label lb = o as Label; if (lb == null) {
Response.Write("类型转换失败"); } else {
Response.Write("类型转换成功"); } 在上面的代码中,CLR只会进行一次类型核实,效率要高于 is

转载于:https://www.cnblogs.com/Hai--D/p/4154511.html

你可能感兴趣的文章
Java的内部类真的那么难以理解?
查看>>
一文搞懂Java环境,轻松实现Hello World!
查看>>
hash实现锚点平滑滚动定位
查看>>
也谈智能手机游戏开发中的分辨率自适应问题
查看>>
【转】MYSQL数据库设计规范与原则
查看>>
《中国大历史》—— 读后总结
查看>>
残差学习【转载】
查看>>
3、流程语句相关练习
查看>>
30、git 使用
查看>>
iOS网络-02-数据解析(JSON与XML)
查看>>
python列表求和的几种等效电路
查看>>
Luogu P3393 逃离僵尸岛
查看>>
Flatten Binary Tree to Linked List
查看>>
Edit Distance
查看>>
N76E003---输入捕获
查看>>
poj 1094 Sorting It All Out(拓扑排序)
查看>>
BMP图像格式
查看>>
python的匿名函数lambda解释及用法
查看>>
defineProperties属性的运用==数据绑定
查看>>
关于 IOS 发布的点点滴滴记录(一)
查看>>