将"var"初始化为空

  • 本文关键字:var 初始化 c# null var
  • 更新时间 :
  • 英文 :


以下变量初始化之间的运行时性能有任何差异?

var    x = null as object;
var    x = (object) null;
object x = null;

我相信 no ,因为编译的IL没有差异。

var    x = null as object;
var    x1 = (object)null;
object x2 = null;

被编译为

IL_0001:  ldnull      
IL_0002:  stloc.0     // x
IL_0003:  ldnull      
IL_0004:  stloc.1     // x1
IL_0005:  ldnull      
IL_0006:  stloc.2     // x2

您只能使用ldnull OPCODE看到所有当地人的初始化为NULL,因此没有差异。

首先:不,我相信这三个呼叫本质上是等效的。

其次:即使它们之间有任何差异,它肯定是如此微小,以至于它与应用程序完全无关。

这是任何计划中的一小部分,在此处和在类似情况下专注于优化,通常会浪费时间,在某些情况下可能会使您的代码变得更加复杂,因此没有充分的理由。

在aprochmers.stackexchange站点上,有更长的有趣讨论。

相关内容

  • 没有找到相关文章

最新更新