is/as操作符
is/as操作符,是C#中用于类型转换的,提供了对类型兼容性的判断,从而使得类型转换控制在安全的范畴,提供了灵活的类型转换控制。
is规则:检查对象的兼容性,查看对象的类型是否完全一样,返回值 true/false.
不会抛出异常.
如果对象为null 则返回 false.
看代码:
class A
{ }
class Program
{
static void Main(string[] args)
{
object o = new object();
A a = null;
if (a is A) //a为null 则返回 false
{
//
}
A a1 = new A();
if (a1 is A) //实例化A a1 返回 true
{
//
}
if (o is A) //o不兼容 类 A 返回 false
{
//
}
}
}
as的规则:
检查对象类型的兼容性,并返回结果,如果不兼容就返回null;
不会抛出异常。
看代码:
class Program
{
static void Main(string[] args)
{
object o = new object();
B ba = new B();
B b = ba as B;
if (b != null) //类型兼容 返回B实例 对象
{
//
}
B b1 = o as B;
if (b1 != null) //类型不兼容 返回null
{
//
}
}
}
class B
{ }
is/as 最大区别就是返回值,is 返回bool; as返回对象或null

浙公网安备 33010602011771号