选择

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看到*/
        }
    }
}

恪尽职守和国家法律相悖,科技和道德冲突,你的选择呢?

原文地址:https://www.cnblogs.com/ggg34674/p/2577167.html