zoukankan      html  css  js  c++  java
  • c#中is运算符和as运算符有什么作用?

    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少执行一次兼容性检查,性能可能会高一点点。
    反思 空杯 担当
  • 相关阅读:
    关于iframe页面里的重定向问题
    iframe跨域解决方案
    sql 查询优化小计
    年轻不能遇见太惊艳的人
    图片上传预览
    脚本
    前端常见跨域解决方案
    react
    react高阶组件
    React + MobX 状态管理入门及实例
  • 原文地址:https://www.cnblogs.com/oralig/p/7709356.html
Copyright © 2011-2022 走看看