首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >is vs typeof

is vs typeof
EN

Stack Overflow用户
提问于 2008-10-08 20:19:04
回答 4查看 122.7K关注 0票数 155

这些代码中哪一段更快?

代码语言:javascript
复制
if (obj is ClassA) {}

if (obj.GetType() == typeof(ClassA)) {}

编辑:我知道他们不会做同样的事情。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-10-08 20:21:04

This should answer that question, and then some.

对于那些不想读这篇文章的人来说,第二行if (obj.GetType() == typeof(ClassA)) {}更快。

(请注意,它们不会做同样的事情)

票数 170
EN

Stack Overflow用户

发布于 2008-10-08 20:23:38

如果他们不做同样的事情,那么哪个更快有关系吗?比较具有不同含义的语句的性能似乎不是一个好主意。

is会告诉您对象是否在其类型层次结构中的任何位置实现了ClassAGetType()告诉您派生次数最多的类型。

不是一回事。

票数 198
EN

Stack Overflow用户

发布于 2008-10-08 20:22:52

他们不会做同样的事情。如果obj是ClassA类型或ClassA的某个子类,则第一个方法有效。第二个将只匹配ClassA类型的对象。第二个会更快,因为它不需要检查类的层次结构。

对于那些想知道原因,但又不想阅读is vs typeof中引用的文章的人。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/184681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档