namespace 结构 { class MyClass { int s1 = 1; } struct MyStruct//实现接口不具有面向队象的特征 封装 多台 继承 { //字段不能初始化 public int a; //常量 static 初始化 const string str = "hellow"; public MyClass mc; //函数成员 public void print() { Console.WriteLine("结构中的方法"); } //结构可以调用无参构造函数 ,有参构造函数 结构不能手动定义无参构造函数 类这种情况只能调用有参构造函数,可以定义无参,有参的构造函数 public MyStruct (int aa,MyClass mcc) { a = aa; mc = mcc; } //有参构造函数必须为每个成员赋值 } class Program { static void Main(string[] args) { MyClass mv=new MyClass ();//没付赋初值,为自动初始化 //结构作为返回值,一个拷贝被创建从函数中返回,值参实际参数拷贝创建,在方法中执行。out和ref 一个结构的引用传入方法,数据成员被改变 // MyStruct mc = new MyStruct(2, mv);//结构通过构造函数初始化赋值,也可以直接赋值 MyStruct ms; ms.a = 5; ms.mc = mv; ms.print(); /*结构类型的变量转到定义看不到继承自object 反编译 c#看不到 用IL看到*/ } } }
恪尽职守和国家法律相悖,科技和道德冲突,你的选择呢?