C#学习笔记之七:结构和枚举

关键字:struct,enum

1.什么是结构?

(1)和类类似,可以有字段属性方法和事件
(2)是值类型
(3)有实例构造函数和静态构造函数,有默认的无参构造函数,通过new运算符自动调用,但不能有析构函数
(4)不能派生类和从类派生,但可以从接口派生
(5)可以进行装箱和拆箱操作

2.怎么定义一个结构?

public   struct  MyStruct
{
     public   string  Name;
     static  MyStruct()
    {
         //静态构造函数,不能访问实例成员,不能直接调用,不能有访问修饰符
    }
     public  MyStruct(  string  name)
    {
         //实例构造函数,必须初始化所有数据成员
         if ( name  ==   null )
             throw   new  ArgumentException();
         this .Name  =  name;
    }
}

3.如何使用结构?

用法类比类的用法。

4.何时使用结构?

(1)当目标类型以数据为主,适合使用结构
(2)当需要一个轻量对象的数组时,适合使用结构

5.什么是枚举?

由一组命名常量组成的数据集合。枚举表达了一种稳定的分类标准。

6.怎么定义一个枚举?

(1)声明一个简单枚举
enum  Week  :   int
{
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday,     //这个逗号可选
};     //这个分号也可选
(2)声明一个标志枚举
所谓标志枚举,就是在某些情况下,需要对枚举的各个成员进行组合得到多种状态,所用到的方法。
[System.Flags]     //表示为标志枚举
public   enum  MouseButtons
{
    LButton  =  0x0001,     //数据成员为2的幂次
    RButton  =  0x0002,
    MButton  =  0x0004,
};

7.如何使用枚举?

(1)简单枚举的使用方法很简单。
(2)使用标志枚举:
MouseButtons m  =  MouseButtons.LButton  |  MouseButtons.MButton;     //得到一种组合,m称为标志字,使用位逻辑
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值