1、is是运算符,用于检查对象是否与给定类型兼容,is只做兼容判断,并不执行真正的类型转换
语法:<引用变量名> is [类名]
如:
int i=100;
if(i is int32)
ConsoleWriteLine("i is a Int32");
else
ConsoleWriteLine("i is not a Int32");
2、as运算符用于执行引用类型的显示类型转换,类型必须为引用类型或null。
语法:语法:<引用变量名> as [类名]
如:
object MyObj="Hello";
string MyString=MyObj as string;//myString="Hello"
注:使用as运算符执行类型转换时,不需要使用is运算符测试类型后再执行转换,它支持安全的类型转换。
as的规则:
1、检查对象类型兼容性并进行类型转换,返回结果。如果不兼容就返回null
2、不会抛出异常