gpt4 book ai didi

c# - : myType. GetType() 和 typeof(MyType) 哪个更有效?

转载 作者:可可西里 更新时间:2023-11-01 08:02:38 26 4
gpt4 key购买 nike

假设我有一个类 MyType:

sealed class MyType
{
static Type typeReference = typeof(MyType);
//...
}

给定以下代码:

var instance = new MyType();
var type1 = instance.GetType();
var type2 = typeof(MyType);
var type3 = typeReference;

哪些变量赋值最有效?

GetType() 或 typeof() 的性能是否足以在静态字段中保存类型是有益的?

最佳答案

typeof(SomeType) 是一个简单的元数据标记查找

GetType() 是虚拟调用;从好的方面来说,如果它是一个子类,您将获得派生类型,但从不利的方面来说,如果它是一个子类,您将获得派生类。如果你明白我的意思。此外,GetType() 需要对结构进行装箱,并且不适用于可为 null 的结构。

如果您在编译时知道类型,请使用 typeof()

关于c# - : myType. GetType() 和 typeof(MyType) 哪个更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16740603/

26 4 0