测试c#对象的类型
本文关键字:类型 对象 测试 | 更新日期: 2023-09-27 18:05:47
我经常想知道在执行操作之前检查对象类型的更好方法是什么。
我可以使用'is'运算符:
if(obj is MyClass){
var tObj = obj as MyClass;
}
或者我可以使用'as'操作符并测试null:
var tObj = obj as MyClass;
if(tObj != null){
}
一个比另一个好吗?有一种方法更快吗?这有关系吗?
第二种方法更好,因为它更快。
在第二种方法中,您只调用操作符as
一次,并进行空检查,这比as
/is
操作符便宜得多。
这取决于你如何使用它,
例如,如果面板的可见性取决于对象的类型,那么is
会更好,因为您可能不需要再次使用该对象。
但是对于您提供的示例,as
会更好,因为您有一个工作对象要使用。