这不是构造方法,只是编译器提供的便捷写法,与下面的代码完全等价。var p1 = new Pair();
p1.s1 = "abc";
p1.s2 = "xyz";

解决方案 »

  1.   


    我的代码是编译不过的。正确的匿名构造函数应该怎么写呢?
    C#压根就没有“匿名构造函数”这个东西。
    你的代码编译不过编译器会告诉你具体的错误原因,难道你看都不看吗?
    因为Pair的s1和s2都是不公开的,所以外界不能访问。
      

  2.   


    我的代码是编译不过的。正确的匿名构造函数应该怎么写呢?
    C#压根就没有“匿名构造函数”这个东西。
    你的代码编译不过编译器会告诉你具体的错误原因,难道你看都不看吗?
    因为Pair的s1和s2都是不公开的,所以外界不能访问。确实是这样,你的写法只是看上去像构造,但是和2楼的写法是完全等价的。
      

  3.   

    其实就类似int[ ] a=new int[ ]{1,2,3,4}
    与int[ ] a=new int[4];
    a[0]=1;
    a[1]=2;
    a[2]=3;
    a[3]=4;
    是完全等价的一样
      

  4.   

    Lz要的是匿名类么? new{s1 = "abc",s2 = "xyz";}