C#枚举类型、枚举类型与其他类型转换、结构类型、数组类型

1、 C#中的常量用constant标定,不能改变或赋值;

2、枚举类型

[public ] enum 枚举名     // 访问标识符、枚举关键字、枚举名(符合Pascal命名规范)
{
  值1,
  值2,(最后这个英文半角,可有可无)
}

枚举类型的声明:将枚举类型的声明到命名空间的下面,类的上面,所有命名空间下面的类都可以使用此枚举类型;

枚举类型就是一个简单的变量类型。

eg:

public enum Gender
{
	男,
	女
}
Gender gender=Gender.男;

3 枚举类型与其他类型的转换

//枚举类型默认为可以与int类型转换,所以可以使用强制类型转换。
//枚举类型---->int:
int num=(int)gender;  //可以得到num值为0,枚举类型中默认以0开始,可以改变。
//int---->枚举类型:
int n=1;Gender gen=(Gender).n;  //这里可以得到gen='女';

 注意:n值超过枚举值时,则保留原来的值,不进行转换,系统不报错

枚举类型与string类型的转换

注意:所有的类型都可以转换为string类型,使用ToString()函数。

int n1=10;string  str=n1.ToString();string  str=Gender.'男'.ToString();    // 得到“男”这个字符串

string---->enum类型: 将字符转换为枚举类型,不能进行强制类型转换,因为枚举类型不确定。使用函数Enum.Parse(): 相当于int.Parse()

(要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),“要转换的字符串”);

string s="男";
Gender ge=(Gender)Enum.Parse(typeof(Gender),s);  注意:要转换的字符串在枚举类型中有输出枚举值,否则会出现异常。

结构类型

1 结构:可以一次性声明多个不同类型的变量;

2

public  struct  变量名
{
public  string_name;   (字段)
public  int _age;
public char_gender;
}
//相当于自定义了一个类型,结构和枚举都是自己定义的类型。若结构中的元素没有public,则在类中无法访问。
//结构中使用了字段(用_(以下划线开始)表示)。

字段与变量的区别:字段可以存多个值,变量只能存储一个值。

数组类型

1 一次性声明多个类型相同的变量-----数组。

2   数组类型[  ]  数组名=new数组类型   [数组长度];//  表明了在内存中开辟了数组长度个空间

int [  ]  nums=new  int [ 10 ];    为赋值时,默认为0;

string [ ]  strn=new string [ 10 ]未赋值时,为NULL,表明为在内存中开辟空间;string 数组为空时,表明已开辟了空间。

bool [ ]  bools=new bool [ 10 ]  位赋值时,默认为FALSE;

数组类型的两种使用初始化方式:
A:  bool [ ]  bools=new bool [ 10 ] ;   bools={0,1,0,0}
B:  bool [ ]  bools={ 0,1,0,0  };

你可能感兴趣的:(C#)