为什么会有枚举?
多人同时开发ERP人员管理系统
存储人员信息有:
姓名,性别,年龄,部门,职位。
简言之:如果希望得到一个固定集合的值,就采用枚举。
声明方式:
public enum 枚举名
{
值1,
值2,
值3,
......
}
类型转换:
枚举与int相互转换
要获得枚举的值,只要转换为string类型。
枚举与string相互转换
如果将字符串转换成枚举类型则需要下面这一行代码:
(要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),"要转换的字符串");
如果转换的字符串是数字,则就算枚举中没有,也会不会抛异常。
如果转换的字符串是文本,如果枚举中没有,则会抛出异常。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication9
{
//在此处声明枚举,它与结构的作用很类似,所以位置一样,但同时,枚举也可以在结构中被调用。
public enum Gender
{
男,
女
}
public enum Week
{
星期一,
星期二,
星期三,
星期四,
星期五,
星期六,
星期日=10
}
class Program
{
static void Main(string[] args)
{
Gender zsGender = Gender.男;
//(int)实现将枚举转化为整型
Console.WriteLine((int)zsGender);
//(枚举名)实现将整型转换为枚举
int myint = 10;
Console.WriteLine((Week)myint);
Week myWorkDay = Week.星期四;
Console.WriteLine((int)myWorkDay);
//将枚举转换为字符串,不能用(string)只能用myWorkDay.ToString(); Convert.ToString(myWorkDay);
Console.WriteLine(myWorkDay);
//将字符串转换为枚举值
string mystr2 = "123";
Console.WriteLine((Week)Enum.Parse(typeof(Week),mystr2));
//如果需要转换的字符串不是数字,而且枚举值中不含有该值,就会报异常,星期八转化成Week类型,会报错
//如果需要转换的字符串是数字,而且不包含该值,也不报异常,123转换成Week类型,尽管Week类型没有123,输出还是123
Console.ReadKey();
}
}
}