将枚举转换为int是否昂贵?

Tho*_*mas 5 c#

由于枚举是值类型且内部是整数,因此将它们转换为int的费用是否比通常的转换便宜?

如果速度更快,是否是因为它是值类型而不是引用类型?

drz*_*drz 6

不,因为它在内部存储值的方式。几乎没有C#开销。转换的开销主要是由于从一种类型转换到另一种类型所需的代码量,是否必须创建一个新对象并分配内存等等。

  • 为了补充这个答案,看起来通过强制转换枚举与常量 int 访问数组的 IL 是完全相同的。请参阅此要点:https://sharplab.io/#gist:50a591ac8fbbee37727e26a2086531e3 我不知道它是否适用于每种情况,但我认为我不能是唯一与此特定情况相关的人。 (4认同)