志在指尖
用双手敲打未来

c#中IS和AS的区别

C#中,is是用来判别类型A能否转化为类型B,一般用来作有承继关系的父类与子类是否能够彼此转化的判别。
而as是将类型A转化为类型B,一般也是用来做子类与父类的转换。
如下面的比如,我们声明三个类
classA
{}
classB:A
{}
classC
{}
能够看到,类B是由类A承继来的。而C是一个独立的类。下面我们运用is与as来做测试。
[C#]纯文本检查
classProgram
{
publicstaticvoidMain()
{
Bb=newB();
if(bisA)
{
Console.WriteLine(true);
}
else
{
Console.WriteLine(false);
}
}
}
打印的成果为true,阐明b类能够转换为A类,但b类并没有转化为A类。
再看下面的比如:
[C#]纯文本检查
classProgram
{
publicstaticvoidMain()
{
Bb=newB();
Aa=basA;
if(a!=null)
{
Console.WriteLine(true);
}
else
{
Console.WriteLine(false);
}
}
}
打印成果为true,这也阐明b类能够转换为A类,并且已经将类b转化为了A类型。
注意:既使b类不能够转换为A类,运用is做判别的时候,是能够通过编译的,也不会抛出异常,仅仅会给出提示。而运用as是会报错的,即通不过编译

未经允许不得转载:IT技术网站 » c#中IS和AS的区别
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载