分享

在c#中如何使用结构体Struct

 嘿嘿天亮了 2012-09-18
在c#中如何使用结构体Struct

  一、结构体概述

  首先说明,结构体是值类型。

  结构是使用 struct 关键字定义的,结构如下:

  struct 结构名
  {
  }

  结构具有以下特点:

  结构是值类型,而类是引用类型。与类不同,结构的实例化可以不使用 new 运算符。结构可以声明构造函数,但它们必须带参数。一个结构不能从另一个结构或类继承,而且不能作为一个类的基。所有结构都直接继承自 System.ValueType,后者继承自 System.Object。结构可以实现接口。结构在定义变量时不能给定初始值。

  如果要在结构中使用构造函数则必须给所有的变量赋值(在构造函数中直接给变量赋值而不是给变量的属性赋值,因为在未赋值之前属性是没有值的所以不能直接给属性)

  所有的结构都隐式继承自ValueType类,不需要显示指定;结构的继承列表中只允许有接口。结构的继承是三层的:object >> valuetype >> "结构" 。

  二、c#结构体Struct的简单例子

  public static void Main(string[] args)
        {
           
            DataInfo info;
            info.i = 5;
            Console.WriteLine(info.i);
            Console.ReadLine();
  }

  public struct DataInfo
        {
            public int i;
  }

  稍微复杂的例子如下:

  struct Employeestruct
    {
        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        private int age;
        public int Age
        {
            get { return age; }
            set { age = value; }
        }

        private int gongzhi;
        public int Gongzhi
        {
            get { return gongzhi; }
            //set { gongzhi = value; }
        }
        //有参数构造函数
        public Employeestruct(string _name, int _age, int _gongzhi)
        {
            //如果要在结构中使用构造函数则必须给所有的变量赋值(在构造函数中赋值)
            this.name = _name;
            this.age = _age;
            this.gongzhi = _gongzhi;
        }
    }

    //使用结构

    class Program
    {
        static void Main(string[] args)
        {

            ////实例化Employeestruct结构
            //Employeestruct empstruct = new Employeestruct("Steven", 22, 10000);
            //Console.WriteLine("姓名:{0}\n年龄:{1}\n工资:{2:C2}", empstruct.Name, empstruct.Age, empstruct.Gongzhi);
            Console.Read();
        }
    }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多