class Program
{
enum FileType
{
txt,
csv,
xml,
xls,
xlsx
}
static void Main(string[] args)
{
//Enum.Equals(object a,object b) 2个枚举类型实例比较
FileType fileType1 = FileType.txt;
FileType fileType2 = FileType.csv;
Console.WriteLine(Enum.Equals(fileType1,fileType2));
//Enum.Format 功能基本同ToString()方法
string format = Enum.Format(typeof(FileType), 1, "d");
Console.WriteLine(format);
//Enum.GetName(type,obj) 获取枚举值
string name = Enum.GetName(typeof(FileType), fileType1);
Console.WriteLine(name);
//Enum.GetNames(type) 获取所有枚举值
string[] nameArray = Enum.GetNames(typeof(FileType));
foreach (string str in nameArray)
{
Console.WriteLine(str);
}
//Enum.GetUnderlyingType(type) 获取枚举类型值的核心类型
//返回System.Int
Type type = Enum.GetUnderlyingType(typeof(FileType));
Console.WriteLine(type);
//Enum.GetValues(type) 数组中为所有的枚举类型名称
FileType[] array = (FileType[])Enum.GetValues(typeof(FileType));
foreach (FileType fileType in array)
{
Console.WriteLine(fileType);
}
//Enum.IsDefined(type,object) 是否合法
bool isDefined = Enum.IsDefined(typeof(FileType), "txt");
Console.WriteLine(isDefined);
//Enum.Parse(type,object)
FileType fileType3 = (FileType)Enum.Parse(typeof(FileType), "txt");
Console.WriteLine(fileType3);
//Enum.ToObject(type,value)
FileType fileType4 = (FileType)Enum.ToObject(typeof(FileType), 1);
Console.WriteLine(fileType4);
//Enum.TryParse .net 4.5
FileType fileType5;
bool result = Enum.TryParse<FileType>("txt", out fileType5);
Console.WriteLine(result);
}
}