菜鸟提问C#中判断对象是某个类的对象问题~

davidjefiny 2010-04-11 05:34:15
Java中的obj1 instanceof Student && obj2 instanceof Student是不是在C#中可以写成
obj1.GetType().Equals(Student) && obj2.GetType().Equals(Student)跪求大牛帮忙看下谢谢~
...全文
380 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xray2005 2010-04-12
  • 打赏
  • 举报
回复
还可以:is,as都可以。

比如

Student st=obj as Student;
if(st!=null)
{
//obj转换Student成功,说明类型兼容
}
renzhonghu 2010-04-12
  • 打赏
  • 举报
回复
学习下
sunyfun 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xingyuebuyu 的回复:]
C# code
if ((obj1.GetType() == typeof(Student)) && (obj2.GetType() == typeof(Student)))
[/Quote]
这个就行啦
CsToD 2010-04-12
  • 打赏
  • 举报
回复
现在的运算符 is ,汗.....

if(obj is Student)......
Taiyangchen 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 weberwong 的回复:]

instanceof是要考虑继承/实现的,也就是说,如果Class1是Class2的父类,或者Class1是接口,那么
Class2 o;
o instanceof Class1
和o instanceof Class2
这两个的结果都是true
所以obj1 instanceof Student && obj2 instanceof Student的对等代码是
ob……
[/Quote]up
grantche 2010-04-11
  • 打赏
  • 举报
回复
学习下。。。
weberwong 2010-04-11
  • 打赏
  • 举报
回复
instanceof是要考虑继承/实现的,也就是说,如果Class1是Class2的父类,或者Class1是接口,那么
Class2 o;
o instanceof Class1
和o instanceof Class2
这两个的结果都是true
所以obj1 instanceof Student && obj2 instanceof Student的对等代码是
obj1 is Student && obj2 is Student
而obj1.GetType() == typeof(Student) && obj2.GetType() == typeof(Student)就是obj1和obj2都只能是Student类对象的意思了
xingyuebuyu 2010-04-11
  • 打赏
  • 举报
回复
            if ((obj1.GetType() == typeof(Student)) && (obj2.GetType() == typeof(Student)))
mirmuo 2010-04-11
  • 打赏
  • 举报
回复
可以肯定这样写是不行的,编译都通不过。

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧