is运算符
is运算符可以检查对象是否与特定的类型兼容。is运算符用来检查对象(变量)是否属于某数据类型(如int、string、bool、double、class等),可在安全类型转换之前进行判断之用。
as运算符
s运算符用于执行引用类型的显式类型转换。如果要转换的类型与指定的类型兼容,转换就会成功进行;如果类型不兼容,as运算符就会返回值null。
is示例一:
int i = 10;
if (i is object)
{ Console.WriteLine("i is an object");}
int i = 10;
if (i is object)
{ Console.WriteLine("i is an object");}
int和从object继承而来的其他C#数据类型一样,表达式i is object将得到true,并显示信息。
as示例二:
object o1 = "Some String";
object o2 = 5;
string s1 = o1 as string;
s2 = o2 as string;
object o1 = "Some String";
object o2 = 5;
string s1 = o1 as string;
object o1 = "Some String";object o2 = 5;string s1 = o1 as string;
as运算符允许在一步中进行安全的类型转换,不需要先使用is运算符测试类型,再执行 转换。
参考文章:is与as运算符