• as 运算符


    as 运算符类似于强制转换操作。但是,如果无法进行转换,则 as 返回 null 而非引发异常。

    as 运算符只执行引用转换和装箱转换。as 运算符无法执行其他转换,如用户定义的转换,这类转换应使用强制转换表达式来执行。

    expression as type
    等效于(但只计算一次 expression)
     
    expression is type ? (type)expression : (type)null

    as 运算符用于在兼容的引用类型之间执行转换。例如:
    // cs_keyword_as.cs
    // The as operator.
    using System;
    class Class1
    {
    }

    class Class2
    {
    }

    class MainClass
    {
        static void Main()
        {
            object[] objArray = new object[6];
            objArray[0] = new Class1();
            objArray[1] = new Class2();
            objArray[2] = "hello";
            objArray[3] = 123;
            objArray[4] = 123.4;
            objArray[5] = null;

            for (int i = 0; i < objArray.Length; ++i)
            {
                string s = objArray[i] as string;
                Console.Write("{0}:", i);
                if (s != null)
                {
                    Console.WriteLine("'" + s + "'");
                }
                else
                {
                    Console.WriteLine("not a string");
                }
            }
        }
    }
    //=============================================================//
    0:not a string
    1:not a string
    2:'hello'
    3:not a string
    4:not a string
    5:not a string

  • 相关阅读:
    微软WP7本地数据库之Sqlite编程技巧(转)
    AutoResetEvent详解
    桥接模式的简单分析
    解决VS2008 调试启动特别慢
    软件概要设计
    解决windows8不能安装ZUNE的问题
    CDATA的对特殊字符作用说明
    DataTable对象在内存中的使用(二)
    DataTable对象在内存中的使用(一)
    关于MVC3 CODE FIRST的安装
  • 原文地址:https://www.cnblogs.com/rohelm/p/2384109.html
Copyright © 2020-2023  润新知