is 和 as 运算符

Posted 小飛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了is 和 as 运算符相关的知识,希望对你有一定的参考价值。

is和as运算符:
is是判断是否是某个类型,返回true或false
o as Ren; 如果转换成功了,没问题;as 是用来转换
如果没转换成功,不会报出错误,而是返回一个null值

实例化一个集合,将里面放进一个自己写的类的方法:

此写法是错误写法,只是在这里举例一下is和as的用意及用法(借用了做接口时的项目代码,主要部分在下面遍历集合)

 

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 接口
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList arr = new ArrayList();//实例化一个集合
 
            //实例化一下ren就可以使用到所有类的方法
            ren sc = new ren();
 

            Random ran = new Random();

            arr.Add(sc);//将类里面自己写的方法放进集合
            arr.Add(ran);

            foreach (object o in arr) //打印一下这个集合,因为不知道ren里面的数据类型,需要转换
            {
                if (o is ren) //判断如果o是ren这个类型,这里用到is,判断是不是,返回true或false
                {
                    ren scc = o as ren;//将o转换为ren这个类型,这里用到as转换,如果转换失败,会返回一个null,空值
                }                      //防止程序崩溃,如果用其他类型强转容易导致程序崩溃
            }
            Console.ReadLine();
        }
    }
}

 

以上是关于is 和 as 运算符的主要内容,如果未能解决你的问题,请参考以下文章

is和as运算符, 类库:dll,委托,

is和as运算符

面向对象 is和as运算符,类库,委托

c# -- is和as运算符

多态和接口以及is和as运算符

类库,委托,is和as运算符,泛型集合