C#中的as和is关键字用法
我们在进行类型转换时候有可能会抛异常,可以使用 is 和 as 关键字来判断是否可以转换
as 和 is 无论转换成功还是失败都不会抛异常
is 类型转换,如果转换成功,则返回一个TRUE,转换失败,返回一个FALSE。
as 类型转换,如果转换成功,则返回对应的对象,如果转换失败,返回一个null。
class Program
{
static void Main()
{
Person p = new Student();
//Teacher t = p as Teacher; //t中是null
//Student s = p as Student; //s中是Student对象
//如果转换前不知道p中装的是谁的对象,使用is进行判断
if(p is Teacher())
{
Teacher t = (Teacher)p; //将p强转为Teacher类型
Console.WriteLine("转换成功!");
}
else
{
Console.WriteLine("不能转换!!!");
}//输出:不能转换!!!
}
}
class Person
{
}
class Student:Person
{
}
class Teacher:Person
{
}