• AS,不抛异常的引用类型之间的转换


    用于在兼容的引用类型之间执行转换。例如:

    string s = someObject as string;

    1if (s != null)
    2{
    3    // someObject is a string.
    4}

    5
    备注
    as 运算符类似于强制转换,所不同的是,当转换失败时,运算符将产生空,而不是引发异常。更严格地说,这种形式的表达式
    1expression as type
    2
    等效于
    1expression is type ? (type)expression : (type)null
    2
    示例:
     1// cs_keyword_as.cs
     2// The as operator.
     3using System;
     4class Class1
     5{
     6}

     7
     8class Class2
     9{
    10}

    11
    12class MainClass
    13{
    14    static void Main()
    15    {
    16        object[] objArray = new object[6];
    17        objArray[0= new Class1();
    18        objArray[1= new Class2();
    19        objArray[2= "hello";
    20        objArray[3= 123;
    21        objArray[4= 123.4;
    22        objArray[5= null;
    23
    24        for (int i = 0; i < objArray.Length; ++i)
    25        {
    26            string s = objArray[i] as string;
    27            Console.Write("{0}:", i);
    28            if (s != null)
    29            {
    30                Console.WriteLine("'" + s + "'");
    31            }

    32            else
    33            {
    34                Console.WriteLine("not a string");
    35            }

    36        }

    37    }

    38}

    39
    输出:
    10:not a string
    21:not a string
    32:'hello'
    43:not a string
    54:not a string
    65:not a string
    7
  • 相关阅读:
    java——方法
    java——继承与多态——继承001
    java——继承与多态——接口001
    java——数组01
    java——数组03
    Java——对象和类—封装001
    java——静态static关键字001
    一篇关于自监督的论文Selfsupervised Visual Feature Learning with Deep Neural Networks: A Survey
    linux安装rclone以及一些常用的命令
    风格迁移网络(vgg19提取特征,gram矩阵提取风格特征)
  • 原文地址:https://www.cnblogs.com/maozhh/p/907954.html
Copyright © 2020-2023  润新知