C#-Struct简单的用法

 /*定义Point 里面就只有2个属性 但是我们实际上根本不需要类的全部功能 */


        class Point
        {
            public int x;
            public int y;
        }

这样写就方便多了

 struct Point
        {
            public int x;
            public int y;

            public int X
            {
                get
                {
                    return this.x;
                }
                set
                {
                    this.x = value;
                }
            }

            public Point(int x, int y)
            {   
                //必须把结构中的变量初始化
                this.x = x;
                this.y = y;
            }
        };


初始化结构体


            Point point1 = new Point(10,20);


            //第二种方式
            Point point2;
            point2.x = 10;
            point2.y = 20;

注意事项


               1.结构体没有无参数构造方法 必须得提供一个有参数的构造函数初始化字段
               2.使用new关键字创建结构对象,并且调用构造方法 但是结构也可以不使用new关键字
               如果不使用new关键字 则结构体的字段都是保持未初始化 初始值为0
               3.结构不能继承结构或继承类,所有结构继承System.ValueType[隐士继承]后者继承System.Object
               4.可以实现接口
               5.声明的时候不能初始化结构字段
               6.结构是值类型 不是引用类型 例如A复制B结构 只是复制数据 没有复制引用 
               如果当做参数传递最好前面加引用符号ref
             



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值