上次好象看见别人弄了段代码:
class Program
    {
         int a;
        static void Main(string[] args)
        {
          (new program()).a=1;
        }
    }
为什么不是Program xy空引用; xy= new program()再指向program产生实例,再xy.a=1;
难道空引用可以省略吗?

解决方案 »

  1.   

    这种叫匿名对象,不是空引用 Program xy=null ,此时xy才是空引用,好好看看基础书吧
      

  2.   

    直接使用 (new Program()).a = 1;
    少了创建变量及为变量赋值的过程..执行速度更快....使用 Program xy = new program();
                xy.a = 1;
    执行效果是一样的..但多了变量分配,稍慢一点..从性能上说.第一种好一些.
    不过从代码易读性来说..最好还是使用 第二种方法..
      

  3.   

    使用 Program xy = null;
          xy = new program();
                xy.a = 1;
    这样是最慢的..