zoukankan      html  css  js  c++  java
  • C#细节之as和is

    判断对象或变量属于某种类型:
    一、适用类型
    1)is可以判断引用类型和值类型。
    2)as可以判断引用类型和可空类型。(注:当值类型变为可空类型时可以用as判断,可以推断可空实际是将值类型进行装箱操作转化为了引用类型)。
    二、返回值
    1)is返回值为bool型。
    2)as返回值为要判断类型。
    例1:
    class Program
        {
            static void Main(string[] args)
            {
                int? i = 0;
                string j = String.Empty;
                int k = 0;
                if (j is int)
                {
                    Console.WriteLine("int");
                }
                else
                {
                    Console.WriteLine("not int");
                }

                Other other = new Other();
                if (other is Other)
                {
                    Console.WriteLine("Yes");
                }
                else
                {
                    Console.WriteLine("No");
                }
                //int x = k as int;//Error:as不可以用于值类型
                int? y = i as int?;//as可以用在可空类型
                Console.ReadKey();
            }
        }

        class Other
        {
        }
    例2:
    FindControl判断类型时有两种写法:
    1)
    TextBox txtTmp = XXX.FindControl("txtTmp") as TextBox;
    if(txtTmp!=null)
    {
          txtTmp.Text  = "Hello";//操作txtTmp对象
    }
    2)
    TextBox txtTmp = XXX.FindControl("txtTmp") as TextBox;
    if(txtTmp is TextBox)
    {
         txtTmp = (TextBox)XXX.FindControl("txtTmp");
         txtTmp.Text  = "Hello";//操作txtTmp对象
    }
    个人推荐第一种写法^=^
    敬告

    作者:pangxiaoliang
    出处:http://www.cnblogs.com/pangxiaoliang
    本文版权归pangxiaoliang和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,谢谢合作。
  • 相关阅读:
    centos 查看硬盘使用情况
    查看centos内存命令
    VS2008编译运行时出现“外部组件发生异常”错误的解决方法
    20170307-1
    20170307
    centos7安装配置git
    Git理解笔记3
    Git理解笔记2
    Git理解笔记1
    php-设计模式
  • 原文地址:https://www.cnblogs.com/pangxiaoliang/p/1530652.html
Copyright © 2011-2022 走看看