iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#中is和as操作符的用法
  • 608
分享到

C#中is和as操作符的用法

2023-06-17 23:06:02 608人浏览 独家记忆
摘要

本篇内容介绍了“C#中is和as操作符的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!c# 中 is和as 操作符是用来进行强制类型转换

本篇内容介绍了“C#中is和as操作符的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

c# 中 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

在学习C#时,看到这样一种表达方式:

BAP_USER user = session["User"] as BAP_USER;  if(user == null)      return mapping.FindForward("error");

有些不明白,上网查了些资料,对is和as操作符有了些了解,把资料放在这里供学习和参考:

在C#中,所有的东西都是对象。因此任何常数也是一个整型对象。这里用到了as ,as 是C#语言里面的一个关键字。as 运算符类似于类型转换,所不同的是,当转换失败时,as 运算符将产生空,而不是引发异常。在形式上,这种形式的表达式:

expression as type

as 运算符只执行引用转换和装箱转换。

as 运算符无法执行其他转换,如用户定义的转换,这类转换应使用case表达式来代替其执行

关于is的其实也差不多,只是IS不会帮你进行任何的转换。所以需要自已进行显示转换

is操作符进行转换,它自动检查时局是否和类型兼容,并返回结果。而且它不会抛出异常。如果对象引用为null,则is总返回false。

if (cls1 is Class2)         Class2 cls2 = (Class2)cls1;   }  else      System.Console.WriteLine("Error 2!");

as操作符进行转换:

Class2 cls2 = cls1 as Class2;  f (cls2!=null)     System.Console.WriteLine("Ok");  lse     System.Console.WriteLine("Error!");

对比is和as操作符转换的两种方式,is需要做两次对象的类型检查,而as需要做一次对象类型检查,再加一次null的检查,而null检查开销比对象类型检查少。相对as的方法效率高些。

“C#中is和as操作符的用法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: C#中is和as操作符的用法

本文链接: https://www.lsjlt.com/news/294403.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#中is和as操作符的用法
    本篇内容介绍了“C#中is和as操作符的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!c# 中 is和as 操作符是用来进行强制类型转换...
    99+
    2023-06-17
  • C#中is操作符的具体应用
    这篇文章主要讲解了“C#中is操作符的具体应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#中is操作符的具体应用”吧!C# 操作符之is应用C# 操作符之is操作符用于检查运行时对象类...
    99+
    2023-06-17
  • C#中 As 和强制转换的用法
    本篇内容介绍了“C#中 As 和强制转换的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C#是一门强类型语言,一般情况下,我们***避免...
    99+
    2023-06-17
  • C#操作符的分类及用法
    本篇内容介绍了“C#操作符的分类及用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!算术: + - * / %逻辑: & | ^ ~...
    99+
    2023-06-17
  • C语言中操作符的介绍及用法
    这篇文章主要讲解了“C语言中操作符的介绍及用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言中操作符的介绍及用法”吧!目录操作符分类算术操作符移位操作符整数存储规则左右移位规则赋值操作...
    99+
    2023-06-20
  • C# 操作符的分类和应用
    本篇内容介绍了“C# 操作符的分类和应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C# 操作符分类及应用讲述之前我们首先要明白:表达式由...
    99+
    2023-06-17
  • C语言简明讲解操作符++和--的使用方法
    目录一、++与--操作符的本质二、++与-- 操作符使用分析三、小结一、++与--操作符的本质 ++ 和 -- 操作符对应两条汇编指令 前置 变量自增(减)1取变量值 后置 取变量值...
    99+
    2022-11-13
  • C# .NET使用操作符的方法有哪些
    这篇文章主要介绍“C# .NET使用操作符的方法有哪些”,在日常操作中,相信很多人在C# .NET使用操作符的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C# .NET使用操作符的方法有哪些”的疑...
    99+
    2023-06-03
  • VBS中Is运算符的作用
    这篇文章主要讲解了“VBS中Is运算符的作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VBS中Is运算符的作用”吧!Is 运算符比较两个对象引用变量。result = object1 I...
    99+
    2023-06-08
  • C#中new操作符的工作机制
    使用new操作符来创建对象,其背后到底发生了什么? 有一个父类Animal,Dog派生于Animal。 class Program { static ...
    99+
    2022-11-13
  • C# 中使用隐式和显式操作符的示例
    目录什么是显式,什么是隐式创建 DTO 类Model 和 DTO 之间的相互转换使用隐式操作符使用显式操作符C# 有一个鲜为人知的特性是通过定义 显式和隐式操作符 实现类型之间的转换...
    99+
    2022-11-12
  • C语言操作符++和--怎么使用
    本篇内容介绍了“C语言操作符++和--怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、++与--操作符的本质++ 和 -- 操作符...
    99+
    2023-06-30
  • C语言中的字符串操作方法有哪些
    本文小编为大家详细介绍“C语言中的字符串操作方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言中的字符串操作方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。字符串在C语言里使用非常多,因为很...
    99+
    2023-06-29
  • C语言操作符#与##使用方法详解
    目录一、# 运算符二、## 运算符三、小结一、# 运算符 # 运算符用于在预处理期将宏参数转换为字符串# 的转换作用是在预处理期完成的,因此只在宏定义中有效编译器不知道 # 的转换作...
    99+
    2022-11-13
  • C#中怎么操作符重载应用
    今天就跟大家聊聊有关C#中怎么操作符重载应用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在C#中,操作符==是对象类的非虚的(操作符不可以为虚的)方法,它是按引用比较的。当你构建一...
    99+
    2023-06-17
  • C++中如何使用逗号操作符
    C++中如何使用逗号操作符,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。其实,我们是经常会用到逗号操作符的,但是并不是所有代码里出现的逗号都是逗号操作符。让我们先从一个类的示例...
    99+
    2023-06-17
  • C#中如何使用三元操作符
    C#中如何使用三元操作符,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C# 操作符之三元操作符“:”是什么呢?C# 操作符之三元操作符“:”有时也称为条件操作符...
    99+
    2023-06-18
  • LINQ操作符SelectMany的用法
    SelectMany操作符提供了将多个from子句组合起来的功能,相当于数据库中的多表连接查询,它将每个对象的结果合并成单个序列。 示例: student类: using ...
    99+
    2022-11-13
  • C++中的const限定符的使用和作用
    目录1、const 的引用2、指针和const3、顶层const4、constexpr和常量表达式const满足定义一种变量在被设置初始值后它的值不能再次被改变。 在默认状态下,co...
    99+
    2023-05-19
    C++ const限定符 C++ const C++限定符
  • C/C++中关于字符串的常见函数操作方法有哪些
    本篇内容介绍了“C/C++中关于字符串的常见函数操作方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!wcsncpy_swcsncpy...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作