zoukankan      html  css  js  c++  java
  • is(C# 参考)

    检查对象是否与给定类型兼容。 例如,下面的代码可以确定对象是否为 MyObject 类型的一个实例,或者对象是否为从 MyObject 派生的一个类型:

     
     
    if (obj is MyObject)
    {
    }
    

    如果所提供的表达式非空,并且所提供的对象可以强制转换为所提供的类型而不会导致引发异常,则 is 表达式的计算结果将是 true。

    如果已知表达式将始终是 true 或始终是 false,则 is 关键字将导致编译时警告,但是,通常在运行时才计算类型兼容性。

    不能重载 is 运算符。

    请注意,is 运算符只考虑引用转换、装箱转换和取消装箱转换。 不考虑其他转换,如用户定义的转换。

    在 is 运算符的左侧不允许使用匿名方法。 lambda 表达式属于例外。

    示例
     
     
     
    class Class1 {}
    class Class2 {}
    class Class3 : Class2 { }
    
    class IsTest
    {
        static void Test(object o)
        {
            Class1 a;
            Class2 b;
    
            if (o is Class1)
            {
                Console.WriteLine("o is Class1");
                a = (Class1)o;
                // Do something with "a."
            }
            else if (o is Class2)
            {
                Console.WriteLine("o is Class2");
                b = (Class2)o;
                // Do something with "b."
            }
    
            else
            {
                Console.WriteLine("o is neither Class1 nor Class2.");
            }
        }
        static void Main()
        {
            Class1 c1 = new Class1();
            Class2 c2 = new Class2();
            Class3 c3 = new Class3();
            Test(c1);
            Test(c2);
            Test(c3);
            Test("a string");
        }
    }
    /*
    Output:
    o is Class1
    o is Class2
    o is Class2
    o is neither Class1 nor Class2.
    */

    原文地址:https://msdn.microsoft.com/zh-cn/library/scekt9xw(v=vs.110).aspx
  • 相关阅读:
    日志框架 log4j2 全解析
    SpringMVC开发RESTful接口
    SpringMVC 进阶
    SpringMVC 参数映射与文件上传
    SSM整合
    算法分析
    SpringMVC 入门
    数据结构与算法概念
    在普通WEB项目中使用Spring
    《算法导论》——重复元素的随机化快排Optimization For RandomizedQuickSort
  • 原文地址:https://www.cnblogs.com/Arlar/p/6030162.html
Copyright © 2011-2022 走看看