c# 结构

https://wenku.baidu.com/view/b536b58ce3bd960590c69ec3d5bbfd0a7856d52d.html

重点:

  1.结构中可以有静态成员也可以有非静态成员,同普通类,但静态类只能有静态成员

  2.结构不能有显式无参构造器,但是可以有参数的

 3. 结构属性和字段实例化时必须全部赋值

 4.  结构中 静态成员用 结构名.方法名 调用,非静态的用实例调用

5. 结构是值类型栈上分配,主要用来 储存数据 

6. 结构不具有面向对象的特点,结构不可以继承自另一个结构或被继承不能有基类,但可以继承自接口。

 

轻量级的对象最好使用结构,但数据量大或有复杂处理逻辑对象最好使用类; 不面向对象可以用结构,面向对象只能用类

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace test
{
    public enum Operater
    {//定义枚举类型
        男,女,鬼
    }

    //结构一般用来存储相关的一小组不同变量,例如商品相关属性,人的属性等等
    public struct BOOK
    {//public 可以使结构实例化后对象访问 _字段
        public string _name;
        public int _count;      //注意为字段写法
        public decimal _price;
        public Operater _operater; //定义了一个新的枚举,枚举和int、string一样用法
    }

    class Program
    {
        static void Main(string[] args)
        {
                        //使用方法为 对象名.字段名
            BOOK book1;
            book1._name = "莎士比亚大全";
            book1._count = 2000;
            book1._price = 150m;
            book1._operater = Operater.男;

            BOOK book2;
            book2._name = "老人与海";
            book2._count = 200;
            book2._price = 15m;
            book2._operater = Operater.女;

            BOOK book3;
            book3._name = "福尔摩斯探案集";
            book3._count = 2500;
            book3._price = 150m;
            book3._operater = Operater.鬼;


            Console.ReadLine();

        }
    }
}

  

posted @ 2021-01-31 11:13  遥月  阅读(131)  评论(0)    收藏  举报