1.Format (要转换的值的枚举类型,要转换的值,要使用的输出格式)
Enum.Format(typeof(Type), 2, "x") Type为枚举类型
2.Parse(枚举对象,转换的值或名称的字符串) 返回值是object类型
Enum.Parse(typeof(Type), "2")
Parse(枚举对象,转换的值或名称的字符串,是否区分大小写)
3. TryParse(转换的值或名称的字符串,枚举对象) 返回值bool类型,true表示转换成功,false表示转换失败
Type type;
bool b = Enum.TryParse("2",out type);
TryParse(转换的值或名称的字符串,是否区分大小写,枚举对象)
4.GetUnderlyingType(将被检索的枚举)返回该枚举的基础类型(Type)
Enum.GetUnderlyingType(typeof(Type)) 返回system.int32
5.Enum.GetValues(枚举类型) 检索指定枚举中常数值的数组(int)
Enum.GetValues(typeof(Type)
6.GetName(枚举类型,指定枚举常数的值(根据其基础类型))
Enum.GetName(typeof(Type),2)
7.GetNames(枚举类型)指定枚举中常数名称的数组,返回string数组
Enum.GetNames(typeof(Type))
8.ToObject(枚举对象,要转换为枚举成员的值)
Enum.ToObject(typeof(Type), 2)
8.IsDefined(枚举类型,常数的值或名称)bool类型,枚举中是否存在指定值的常数
Enum.IsDefined(typeof(Type), 2)
9.GetHashCode() 返回该实例的值的哈希代码,返回值是int类型
Type type = new Type();
int i= type.GetHashCode();
10.ToString() 将此实例的值转换成对应的字符串
Type type = new Type() type.ToString()
或者 Type.One.ToString()
11.CompareTo(要比较的对象,或为null) 返回值为int类型,前者小于后者,返回值小于0,两者相等,返回值等于0,~~大于0
int a = (int) Type.TypeOne;
int i =a.CompareTo(2);
或
Type.TypeOne.CompareTo(Type.TypeThree)
12.ToString(格式字符串) 返回值是string类型
格式字符串有“D”,“G”,“X”,"F" G直接转换成字符串类型 D将该实例的值转换成字符串类型 ,X将该实例的值转换成十六进制的字符串类型
F将枚举项显示为字符串值
13.HasFlag(枚举对象) 返回值是bool类型,该实例是否设置了一个或多个位域(是否具有包含关系(个人理解))
14.GetTypeCode() 返回该实例的基础类型
Type.TypeThree.GetTypeCode() 返回的基础类型时int32
15.ToBoolean(),ToChar(),To~~~~ 根据基础类型将当前值进行类型转换
16 获取枚举属性
var description=Type.GetField (枚举值).GetCustomAttributes(属性类型,false)
17获取枚举描述属性的例子
Array values = Enum.GetValues(typeof(EnumType));
foreach (var s in values)
{
//GetField(str) 获取具有指定名称(str)的公共字段
System.Reflection.FieldInfo val=typeof (EnumType).GetField(s.ToString()); //该字段的描述属性的说明
var description =((DescriptionAttribute[])val.GetCustomAttributes(typeof (DescriptionAttribute), false))[0].Description
Console.WriteLine(description);
}