返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 1794|回复: 0

[原创] 【原创】结构体讲解

[复制链接]
发表于 2021-1-29 15:48:53 | 显示全部楼层 |阅读模式
本帖最后由 da11 于 2021-1-29 15:52 编辑

       //结构体讲解主Main
        private static void Main()
        {
            /*结构体 struct
             * · 定义:用于封装小型相关变量的值类型。与类语法相似,
             * 都可以包含数据成员和方法成员。但结构属于值类型,类属于引用类型。
             * · 适用性:
             * 表示点、颜色等轻量级对象。如创建存储1000个点的数组
             * ,如果使用类,将为每个对象分配更多内存,使用结构可以节约资源。
             *
             * 定义结构体的语法:struct 结构体名
             * 注意:结构体不能有无参数的构造函数,就是说默认送的构造函数不能使用,需要另外写
             * · 除非字段被声明为const(常量成员)或static(静态成员),否则无法初始化。(字段不能在声明时就赋值,一般在构造函数中给字段赋值)
             * · 结构不能继承,但可以实现接口。
             *
             */

            //和类一样,对象都是需要初始化,构造函数可以是无参也可以是有参
            FangXiang test01 = new FangXiang();
            Console.ReadLine();

        }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
 楼主| 发表于 2021-1-29 15:50:10 | 显示全部楼层
//FangXiang.cs--定义结构体FangXiang
    /// <summary>
    /// 定义一个方向类
    /// </summary>

    //class FangXiang
    //定义一个FangXiang的构造体
    struct FangXiang
    {
        private int hangIndex;

        public int HangIndex
        {
            get { return hangIndex; }
            set { this.hangIndex = value; }
        }

        public int lieIndex { get; set; }

        //结构体自带无参数构造函数,所以在代码中不能写有无参数的构造函数
        //public FangXiang()
        //{
        //
        //}

        public FangXiang(int hangIndex, int lieIndex):this()
        {
            //构造函数中,必须先为所有字段赋值
            //:this()有参数构造函数,先调用无参构造函数,为自动属性的字段赋值(普通属性不算)
            //没有自动属性时,可以不调用无参构造函数,仅仅为现有的字段赋值即可。
            this.hangIndex = hangIndex;
            this.lieIndex = lieIndex;
        }

        public static FangXiang UP
        {
            get { return new FangXiang(-1, 0); }
        }

        public static FangXiang Down
        {
            get { return new FangXiang(+1, 0); }
        }

        public static FangXiang Left
        {
            get { return new FangXiang(0, -1); }
        }

        public static FangXiang Right
        {
            get { return new FangXiang(0, +1); }
        }

        public static FangXiang LeftUP
        {
            get { return new FangXiang(-1, -1); }
        }

        public static FangXiang RightUP
        {
            get { return new FangXiang(-1, +1); }
        }

        public static FangXiang LeftDown
        {
            get { return new FangXiang(+1, -1); }
        }

        public static FangXiang RightDown
        {
            get { return new FangXiang(+1, +1); }
        }

    }

回复 支持 反对

使用道具 举报

游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表