C#中的枚举类型(基本)
定义:
Enum 枚举名 :基本数据类型
{
枚举成员1 = 0,
枚举成员2 = 1,
... ...
}
赋值:
枚举类型 变量名 = 枚举类型.枚举成员1;
Enum类:
public static string GetName(System.Type enumType, object value)
System.Type enumType :tyoeof(枚举名)
object value :数值
根据枚举成员编号,获得枚举成员名称
public static string[] GetNames(System.Type enumType)
获得一系列的枚举成员名
public static bool IsDefined(System.Type enumType, object value)
判断枚举类型中有没有某个枚举成员
public static object Parse(System.Type enumType, string value, bool ignoreCase)
将字符串(枚举成员或者枚举编号)转换成枚举对象,在这个函数前最好强类型转换一下
C#中的枚举类型(Flags)
[Falgs] Enum 枚举名 :基本数据类型
{
枚举成员1 = 0,
枚举成员2 = 1,
枚举成员3 = 4,
枚举成员4= 8,
... ...
}
多个枚举连接:
Time t1 = Time.four;
t1 = t1 | Time.one;
多个枚举删除:
t1 = t1 ^ Time.one;
public bool HasFlag(System.Enum flag)
判断这个枚举中有没有相应的枚举值
[Flags] enum Time : int
{
one = 1,
two = 2,
three = 4,
four =8
}
Time t1 = Time.four;
t1 = t1 | Time.one;
t1 = t1 ^ Time.one;
Time t2 = Time.one;
Console.WriteLine(t1.HasFlag(t2));
输出:False