zoukankan      html  css  js  c++  java
  • c#类型转换操作符:as和is

      显式的转换可能会抛出异常,而异常的代价在运行时是高昂的。C#有两个操作符(as和is)可以解决这个问题,它们都保证不抛出异常。

      is:表示是否能将一个给定的表达式转换为给定的类型,这种转换可能是引用转换,也可能是装箱或拆箱操作,其结果为布尔型。

        例: string strName="Davi";

          Console.WriteLine("strName {0} string", strName is String? "is","isnot");  //结果为:strName  is  String

          Console.WriteLine("strName {0} object", strName is Object ? "is","isnot");  //结果为:strName  is  object

        注:is不考虑任何基于用户自定义类型的转换。

      as:类似于is操作符,但它会返回一个目标类型的引用。as在不能做转换时返回null。

         例: MyType myObj1=new MyType();

           MyBaseType baseOjb1=new MyBaseType();

           MyBaseType baseOjb2=myObj;

          

           MyType myObj2=baseOjb2 as MyType;  //成功转换为MyType

           myObj2=baseOjb1 as MyType;  //失败,myObj2=null

           

      小结:如果需要测试一个变量是否为某种类型,用is 。

         如果要将一个变量转换为某种类型,用as 。如果用is的话,需要进行两次类型查找操作(先判断,再转换),而as只需要一次。

      

    静守己心,看淡浮华
  • 相关阅读:
    shiro的授权与认证
    spring-aop
    GC选择之串行收集与并行收集
    4. Tomcat调优
    spring boot 启动 开启注解 加载 bean
    一、JavaScript实现AJAX(只需四步)
    DVWA安装
    CTF入门指南
    Metasploit 学习
    JSP笔记
  • 原文地址:https://www.cnblogs.com/jianglingli83/p/3009276.html
Copyright © 2011-2022 走看看