C# Enum枚举操作


C# Enum枚举转DataTable

public static DataTable EnumToDataTable(Type enumType, string NameFileName, string valFileName)
{
    string[] Names = System.Enum.GetNames(enumType);

    Array Values = System.Enum.GetValues(enumType);

    DataTable table = new DataTable();
    table.Columns.Add(NameFileName, System.Type.GetType("System.String"));
    table.Columns.Add(valFileName, System.Type.GetType("System.Int32"));
    table.Columns[NameFileName].Unique = true;
    for (int i = 0; i < Values.Length; i++)
    {
        DataRow DR = table.NewRow();
        DR[NameFileName] = Names[i].ToString();
        DR[valFileName] = (int)Values.GetValue(i);
        table.Rows.Add(DR);
    }
    return table;
}
GarsonZhang www.infnitee.com

C#根据枚举名称获得枚举值

/// <summary>
/// 根据枚举名称获得枚举值
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="name"></param>
/// <returns></returns>
public T? ConvertFromName<T>(string name) where T : struct // Enum

{
    T value;
    if (Enum.TryParse<T>(name, out value) == false)
    {
        return null;
    }
    return value;
}
GarsonZhang www.yesdotnet.com

C# 枚举转字典对象列表

/// <summary>
/// 根据枚举名称获得枚举值
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="name"></param>
/// <returns></returns>
public List<EnumItemObject> ConvertToDict<T>() where T : struct // Enum
{
    string[] Names = System.Enum.GetNames(typeof(T));
    Array Values = System.Enum.GetValues(typeof(T));

    List<EnumItemObject> data = new List<EnumItemObject>();
    for (int i = 0; i < Values.Length; i++)
    {
        data.Add(new EnumItemObject()
        {
            Name = Names[i],
            Value = (int)Values.GetValue(i)
        });
    }
    return data;
}
public class EnumItemObject
{
    public string Name { get; set; }
    public int Value { get; set; }
}
GarsonZhang www.yesdotnet.com

 

 

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YES开发框架
评论列表

发表评论

评论内容
昵称:
关联文章

C# Enum操作
CSharp编程小技巧-使用 Enum.HasFlag 方法
C#操作 配置文件*.ini
C#日期操作-星期(week)相关
C#使用SharpZipLib进行压缩文件(*.rar,*.zip)操作,压缩和解压
C#的进化——C#发展史、C#1.0-10.0语法系统性梳理、C#与JAVA的对比
窗体自定义权限操作按钮
自定义表格操作按钮 GridControlEmbeddedNavigator
C#性能优化总结
编辑窗体中关联赋值操作
C#四舍五入的正确方式Math.Round
C#代码编码规范手册 软件开发规范 开发指南
C# 时间戳、随机数相关操作
操作事件列表
YESWEB POS开发 Electron操作appdata配置信息
C# Abp框架入门系列文章(一)
C#汉字转拼音
增加浮动和固定操作按钮
Task 使用详细[基础操作,异步原则,异步函数,异步模式]
智能收款播报机 对接操作说明