1. 将一个枚举的成员转换为一个List
using System;
using System.Linq;
using System.Collections.Generic;
public class Example
{
public enum Days
{
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 4,
Friday = 5,
Saturday = 6,
Sunday = 7
}
public static void Main()
{
List<Days> days = Enum.GetValues(typeof(Days))
.Cast<Days>()
.ToList();
Console.WriteLine(String.Join(Environment.NewLine, days));
}
}
/*
Output:
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
*/
2. 将一个枚举的成员转换为一个数组 Array[ ]
using System;
public class Example
{
public enum Days
{
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 4,
Friday = 5,
Saturday = 6,
Sunday = 7
}
public static void Main()
{
Days[] days = (Days[])Enum.GetValues(typeof(Days));
Console.WriteLine(String.Join(Environment.NewLine, days));
}
}
/*
Output:
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
*/
3. 将枚举项项带数字值转换为一个List.
using System;
using System.Linq;
using System.Collections.Generic;
public class Example
{
public enum Days
{
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 4,
Friday = 5,
Saturday = 6,
Sunday = 7
}
public static void Main()
{
var days = Enum.GetValues(typeof(Days))
.Cast<Days>()
.Select(d => (d, (int)d))
.ToList();
Console.WriteLine(String.Join(Environment.NewLine, days));
}
}
/*
Output:
(Monday, 1)
(Tuesday, 2)
(Wednesday, 3)
(Thursday, 4)
(Friday, 5)
(Saturday, 6)
(Sunday, 7)
*/
4. 随机一个枚举值,一般用来做测试
public T RandomEnum<T>()
{
T[] values = (T[]) Enum.GetValues(typeof(T));
return values[new Random().Next(0,values.Length)];
}