C# 中将枚举转为为列表项

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)];
 }

 

posted @   LearningAlbum  阅读(537)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
点击右上角即可分享
微信分享提示