zoukankan      html  css  js  c++  java
  • C# is运算符的作用(转)

    原文链接:https://www.cnblogs.com/cheny3636/p/4995784.html

    is运算符的含义:检查对象是不是给定类型,或者是否可以转换为给定类型,如果是,这个运算符就返回True.

    is运算符的语法:<operand> is <type>

    这个表达式的结果如下:如果<type>是一个类类型,而<operand>也是该类型,或者它继承了该类型,或者它可以封箱到该类型中,则结果返回True.

                                 如果<type>是一个接口类型,而<operand>也是该类型,或者它是实现该接口的类型,则结果返回True.

               如果<type>是一个值类型,而<operand>也是该类型,或者它可以拆箱到该类型中,则返回True.

    is实例:

     1 namespace Chapter11
     2 {
     3     class Checker
     4     {
     5         public void Check(object param1)
     6         {
     7             if (param1 is ClassA)
     8                 Console.WriteLine("Variable can be converted to ClassA");
     9             else
    10                 Console.WriteLine("Variable can't be converted to ClassA.");
    11 
    12             if (param1 is IMyInterface)
    13                 Console.WriteLine("Variable can be converted to IMyInterface.");
    14             else
    15                 Console.WriteLine("Variable can't converted to IMyInterface.");
    16 
    17             if (param1 is MyStruct)
    18                 Console.WriteLine("Variable can be converted to MyStruct.");
    19             else
    20                 Console.WriteLine("Variable can't be converted to MyStruct.");
    21         }
    22     }
    23     interface IMyInterface
    24     { }
    25     class ClassA : IMyInterface
    26     { }
    27     class ClassB :IMyInterface
    28     { }
    29 
    30     class ClassC
    31     { }
    32 
    33     class classD : ClassA
    34     { }
    35 
    36     struct MyStruct : IMyInterface
    37     { }
    38     class Program
    39     {
    40         static void Main(string[] args)
    41         {
    42             Checker check = new Checker();
    43             ClassA try1 = new ClassA();
    44             ClassB try2 = new ClassB();
    45             ClassC try3 = new ClassC();
    46             classD try4 = new classD();
    47             MyStruct try5 = new MyStruct();
    48             object try6 = try5;
    49             Console.WriteLine("Analyzing ClassA type variable:");
    50             check.Check(try1);
    51             Console.WriteLine("Analyzing ClassB type variable:");
    52             check.Check(try2);
    53             Console.WriteLine("Analyzing ClassC type variable:");
    54             check.Check(try3);
    55             Console.WriteLine("Analyzing ClassD type variable:");
    56             check.Check(try4);
    57             Console.WriteLine("Analyzing MyStruct type variable:");
    58             check.Check(try5);
    59             Console.WriteLine("Analyzing boxed MyStruct type variable:");
    60             check.Check(try6);
    61             Console.ReadKey();
    62         }
    63     }
    64 }
  • 相关阅读:
    凹透镜
    三角形动点和将军饮马
    数学
    壮壮学习准则
    均值不等式,求极值
    2020年自贡中考数学真题,用的是花钱买的"几何画板",wechat:QZCS12
    90年高考题
    裂项:2005年初中数学竞赛题p32,4
    02-需求来源
    01-产品需求的内涵
  • 原文地址:https://www.cnblogs.com/start-from-scratch/p/13755435.html
Copyright © 2011-2022 走看看