`
isiqi
  • 浏览: 16491976 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

.NET 里as 与is 的区别和用途

阅读更多

is : 检查一个对象是否兼容于其他指定的类型,并返回一个Bool值,永远不会抛出异常

在上面的代码,CLR实际上会检查两次对象的类型,is操作符先核实一次,如果o兼容于Lable,那么在(Label)o时会再次核实一次,效率比较低,不建议使用


as:与强制类型转换是一样的,但是永远不会抛出异常,即
如果转换不成功,会返回null

在上面的代码中,CLR只会进行一次类型核实,效率要高于 is

分享到:
评论

相关推荐

    vb.net调用模块和短信接口实例

    ### VB.NET 调用模块和短信接口实例详解 #### 一、VB.NET与面向对象编程 VB.NET作为VB6.0的继任者,在语言特性和架构上进行了大幅度的改进,使其成为一种真正的面向对象编程语言。面向对象编程的核心特征包括封装...

    .NET技术学习大纲

    学习`namespace`的使用,掌握类型转换、`is`与`as`的操作,熟悉抽象类和接口的区别与联系。同时,了解遍历集合时`foreach`循环的用法,以及如何生成随机数。 - **常用类库**:掌握`String`与`StringBuilder`的使用...

    你必须知道的.net

    然而,is和as操作符的引入,为类型转换带来了更深层次的灵活性与安全性。 ##### is操作符详解 is操作符主要用于检查对象类型是否兼容特定类型,其规则简洁明了: 1. **兼容性检查**:is操作符会判断对象类型是否...

    你必须知道的.NET

    作者通过与他人讨论的技术心得,以实例和简洁的语言阐述了.NET技术中的关键概念和设计思想。 首先,文章提到了.NET的基础知识,包括Common Language Runtime (CLR)——这是.NET框架的心脏,它负责执行.NET代码,...

    isas项目

    【isas项目】是一个面向广大用户精心设计的项目,尽管标题没有提供具体的IT技术细节,但根据提供的代码片段,我们可以推测这是一个基于C#语言的控制台应用程序。该项目的主要功能是生成一组随机的乐透彩开奖号码。 ...

    去除AutoCAD 教育版戳记 VB.net 源码

    这些戳记可能包括文字、水印或其他视觉标识,对于专业用途可能不理想。在VB.NET中,可以通过编程方式去除这些教育版戳记,实现更干净、专业的输出。 本文将深入探讨如何使用VB.NET编写源码来去除AutoCAD教育版的...

    C# 快速入门

    :)、大小运算符(as)、类型测试运算符(is)等。 - **7.8 小结** 掌握不同类型的表达式和操作符对于编写有效的算法和逻辑处理非常关键。 ##### 第八章:流程控制 - **8.1 条件语句** 条件语句(如if-else...

    学过的全部知识点整理301.txt

    - **知识点**: `is` 和 `as` 运算符的功能。 - **描述**: `is` 用于检查对象是否为特定类型,`as` 用于尝试转换对象到指定类型而不抛出异常。 #### 7. 方法重载 - **知识点**: 方法重载的定义。 - **描述**: 方法...

    ASP.NET MVC5网站开发之添加\删除\重置密码\修改密码\列表浏览管理员篇2(六)

    在ASP.NET MVC5的网站开发过程中,为了提升用户体验和增强功能,我们经常需要引入外部插件来弥补基础框架的不足。本教程以“ASP.NET MVC5网站开发之添加\删除\重置密码\修改密码\列表浏览管理员篇2(六)”为主题,...

    python面试常用的常用38题

    9. is与==的区别 Python中的is和==运算符可以用来比较对象的值和身份。is运算符比较对象的身份,而==运算符比较对象的值。 10. xs和.format的主要区别 Python中的xs和.format方法可以用来格式化字符串。xs方法...

    IoTClient:This is an IoT device communication protocol implementation client, which will include common industrial communication protocols such as mainstream PLC communication reading, ModBus protocol, and Bacnet protocol. This component is open source an

    您也可以修改并用于商业用途(商业用途请评估和测试)。 开发工具:Visual Studio 2019 QQ交流群: 文件目录 西门子客户最佳实践 MitsubishiClient(三菱)读写操作 OmronFinsClient(欧姆龙)读写操作 ...

    判断控件类型

    每个类都有其特定的功能和用途。 2. **TypeOf...Is运算符**: - 使用`TypeOf...Is`运算符可以检查一个对象是否属于某个特定的类。例如,如果你有一个控件变量`ctl`,你可以用`If TypeOf ctl Is Button Then`来判断...

    VB语言编程命名规范规则

    - 遵循VB.NET的自动属性约定,如`Public Property Age As Integer`。 9. **事件命名**: - 事件名通常以"Event"后缀,如`ClickEvent`或`ValueChangedEvent`。 10. **参数命名**: - 参数名应具有描述性,如`...

    NoticeNotice.pdf

    - 文件清楚地声明了软件的“AS IS”状态,即软件提供时不带任何明示或暗示的保证。这通常意味着软件的使用者不能因为软件运行不稳定、有漏洞或其他缺陷而向开发者或公司提出赔偿要求。 - 有关责任和赔偿的条款通常...

    MSDN离线版C# 脚本手册 C# 指南.pdf

    - **使用模式匹配以及is/as运算符安全地进行强制转换**:解释如何安全地进行类型转换。 - **.NET Compiler Platform SDK (Roslyn API)**: - **.NET Compiler Platform SDK (Roslyn API)概述**:提供了一个关于...

Global site tag (gtag.js) - Google Analytics