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
{

}

 

posted @ 2017-03-29 16:39  华美的演出  阅读(270)  评论(0编辑  收藏  举报