结构体构造器注意事项

 1     struct MyPoint
 2     {
 3         //public int a = 10; // 结构体不能为字段初始化,但是这里可以初始化静态字段
 4         private int y;
 5         //结构体是不能 定义无参的构造函数
 6         public MyPoint(int x)
 7         {
 8             //在任何构造函数调用的时候,必须初始化所有的参数
 9             y = 10;
10         }
11     }
1         /// <summary>
2         /// 一种实现方式,初始化所有字段
3         /// </summary>
4         /// <param name="s"></param>
5         public MyPoint(string s)
6         {
7             //一种实现方式,初始化所有字段
8             this = new MyPoint();//这里会初始化 字段y=0
9         }

  注意:在值类型的构造器中,this 代表值类型本身的一个实例,用new 创建的值类型的实例可以赋值给 this ,但是在引用类型的构造器中,this 是只读的,不能为其赋值

原文地址:https://www.cnblogs.com/yougmi/p/5688330.html