一、常量(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();
}
}