标签:
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(); } } }
标签:
原文地址:http://www.cnblogs.com/zyg316/p/5599147.html