六合开奖结果现场直播欢迎诸位!收藏本站注 册登 陆
常用三肖中特马:基础知识网络知识操作系统WPS网页制作数据库算法网页成功之路网络安全最新技术古典mid流行midmid背景下载中心
您现在的位置:首页 > 三肖中特马 > 文章页

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

Admin | 2012-6-20 6:14:13 | ReadNums | 6662 | 标签 asp.net | 打印本页
     

  一、结构体概述

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

  结构是使用 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();
        }
    }


问题未解决:在线咨询我要在线咨询问题

王中王中特期期免费公开

(访客)
内容实用原创,讲得很好。
20xx年x月x日
(站长)
有问题请在线咨询。
20xx年x月x日