学习笔记之C#常量、枚举、结构、索引器

一、常量(Const)

语法:const 常量类型 常量名 = 常量值;//常量只有在初始化的时候可以赋值

二、枚举(Enum)

定义一种类型,并且在定义时我们要指定这个类型的所有值

(一)语法

enum 自己起的类型名称{值1,值2,值3...值n};

如:

enum 自己起的类型名称{值1,值2,值3...值n};

如:enum Gender

{

男,

女

}

//使用时如下

Gender sex;

sex = Gender.男;

(二)注意

1.枚举的定义,一般和定义类在同一个级别。这样,在同一个命名空间下的所有类都可以使用这个枚举

2.定义枚举时,枚举的值不能用int类型

3.枚举的变量都可以强制转换成int,因为枚举的值在定义时是有一个默认编号的,编号从0开始

4.可以在枚举中的值后面加编号,如

enum Gender

{

男=1;

女=2;
}

(三)作用

1.限制用户不能随意赋值,只能在列举的值中选择

2.不需要死记每一个值,只需要选择相应的值

(四)字符串转换为枚举

(自己定义的枚举类型)(Enum.Parse(typeof(自己定义的枚举类型),"待转换的字符串"));

如:(Gender)(Enum.Parse(typeof(Gender),s));

三、结构(Strut)

结构是值类型,常用来封装小型变量组

(一)语法

访问修饰符 struct 结构名

{

定义结构成员

}

    struct Rectangle
    {
        public int length;
        public int width;
        public int[] arr;
        public Rectangle(int length, int width,int[] arr)
        {
            this.length = length;
            this.width = width;
            this.arr = arr;
        }
        public int Area()//计算面积方法
        {
            return length * width;
        }
        public int this[int index]
        {
            get 
            {
                if (index < arr.Length - 1)
                {
                    return arr[index];
                }
                else
                {
                    throw new Exception("索引器长度溢出!");
                }
            }
        }

(二)特点

1.结构为值类型,存储在栈中,所以结构的初始化可以不用new关键字

2.结构读取的效率高,但是容量小

3.结构中的非静态字段不能在结构中被初始化

4.结构可以有索引器、方法、构造参数,但是若为结构重载构造函数,则在构造函数中为所有字段初始化

5.结构中的字段一般可以定义为public

(二)作用

1.解决变量重重复的问题

2.变量名不会记混

四、计算机单位

1.计算机中最小单位叫“位”(bit,比特),表示一个二进制位

2.一个一个处理二进制位太慢,表示的信息太小,于是把8个二进制位分成一组,那么8个二进制位叫做字节(Byte),计算机能够处理的最小单位。(0-255,255在十六进制中为FF)

1B=8b

1KB=1024B

1MB=1024KB

bps(bit per second)网络带宽

五、索引器

允许类或结构的实例按照与数组相同的方式进行索引

(一)声明语法

public int this[参数列表]{get{ };set{ };}

(二)注意

1.索引器可以被重载

2.参数列表可以为多项,多种类型

3.返回值类型不限

class Sample
    {
        private int[] arr=new int[100];
        public int this[int index]
        {
            get
            {
                return arr[index];
            }
            set
            {
                arr[index] = value;
            }
        }
        
    } 
class Program
    {
        static void Main(string[] args)
        {
            Sample s1 = new Sample();
            int i = s1[0];
            Console.WriteLine(i);
            Console.ReadKey();
        }
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值