黑马程序员技术交流社区

标题: is as [打印本页]

作者: 谢玲    时间: 2012-12-18 09:49
标题: is as
bool result=p1 is Student;
Student s1= p1 as Student;
上面两句代码中is和as的作用相同吗??
作者: 谢玲    时间: 2012-12-18 09:51
不好意思,发重了.......
作者: 梦ing    时间: 2012-12-19 16:27
is是判断他是否是某个类型,as是作为某个类型吧,你可以看看传智播客就业班的视频
作者: rla540    时间: 2012-12-19 17:05
object  is  type 判断某一类型的对象能否转换为另一个类型!如果可以返回true,不可以返回false
object  as  type把一个类型的对象强制转换为另一个类型的对象,如果可以返回这个类型的引用,不能转换则返回null值
作者: 郭小伟    时间: 2012-12-19 18:31
is 是 引用的对象是否和student类型兼容 返回值是bool类型 相当于判断     as是如果能转的话,就返回一个非空的引用,不能就返回一个空引用   is不会报异常 as会报异常
作者: 刘斌    时间: 2012-12-20 13:07
is就是处于对类型的判断。返回true和false。如果一个对象是某个类型或是其父类型的话就返回为true,否则的话就会返回为false。另外is操作符永远不会抛出异常。as是把一个类型的对象强制转换为另一个类型。
C# 提供 is 和 as 运算符的原因。您可以使用这两个运算符来测试强制转换是否会成功,而没有引发异常的风险。通常,as 运算符更高效一些,因为如果可以成功进行强制转换,它会实际返回强制转换值。而 is 运算符只返回一个布尔值。如果只想确定对象的类型,而无需对它进行实际强制转换,则可以使用 is 运算符。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2