zoukankan      html  css  js  c++  java
  • as 与 is

        class Program
        {
            static void Main(string[] args)
            {
                Father f = new Father();
                Son s = new Son();
                if (f is Son)//这里为false;is就是处于对类型的判断。返回true和false。如果一个对象是某个类型或是其父类型的话就返回为true,否则的话就会返回为false。另外is操作符永远不会抛出异常;
    //上面代码中,其实clr对对象类型检查了两次:is操作首先检查f所引用的对象是否和Son类型兼容。如果兼容,那么在if语句内clr在执行转换时又会检查f是否为一个Son引用。
    { s = (Son)f; //f不一定包含s,所以不能这样转换 } else { s = null; } s = f as Son; //as 是把一种类别转换为指定的引用类型,转换不成功则返回nullif (s == null) { Console.WriteLine("as类型先检查强制类型转换的有效性,如果有效,则执行强类型转换过程。否则返回null"); } Console.ReadKey(); } } class Father { } class Son : Father { }
  • 相关阅读:
    2017.10.27
    2017.10.26
    codeforces 652 E Pursuit For Artifacts
    bzoj 1123 BLO
    bzoj 2839 集合计数
    bzoj 3170: [Tjoi 2013]松鼠聚会
    bzoj 2503 相框 欧拉回路
    bzoj 1786 [Ahoi2008]Pair 配对
    bzoj 1014 [JSOI2008]火星人prefix 哈希+splay
    csp-s74 瓶颈
  • 原文地址:https://www.cnblogs.com/potoofly/p/2943587.html
Copyright © 2011-2022 走看看