码迷,mamicode.com
首页 > Web开发 > 详细

.net 实例化对象

时间:2015-07-13 17:44:50      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

定义TestClass,在调用的地方

TestClass a;

如果下面有引用

a.Property,VS会报错,而如果

TestClass a = null;

再次调用的话则不会报错。

 

TestClass a; DebugIL代码:

.method private hidebysig static void  Main(string[] args) cil managed
{
  .entrypoint
  // Code size       2 (0x2)
  .maxstack  0
  .locals init ([0] class ConsoleApplication1.TestClass a)
  IL_0000:  nop
  IL_0001:  ret
} // end of method Program::Main

TestClass a = null; DebugIL代码:

.method private hidebysig static void  Main(string[] args) cil managed
{
  .entrypoint
  // Code size       4 (0x4)
  .maxstack  1
  .locals init ([0] class ConsoleApplication1.TestClass a)
  IL_0000:  nop
  IL_0001:  ldnull
  IL_0002:  stloc.0
  IL_0003:  ret
} // end of method Program::Main

TestClass a; Release IL代码,VS会优化掉该语句

.method private hidebysig static void  Main(string[] args) cil managed
{
  .entrypoint
  // Code size       1 (0x1)
  .maxstack  8
  IL_0000:  ret
} // end of method Program::Main

TestClass a = null; Release IL代码,VS同样会优化掉该句

.method private hidebysig static void  Main(string[] args) cil managed
{
  .entrypoint
  // Code size       1 (0x1)
  .maxstack  8
  IL_0000:  ret
} // end of method Program::Main

 

先Mark,以后在具体研究区别

.net 实例化对象

标签:

原文地址:http://www.cnblogs.com/NailClipper/p/4643064.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!