[小问题笔记(四)] Enum枚举类型转换为DataTable( C# )

时间:2024-04-29 11:37:24

枚举:

 public enum ProductType
{
小产品=,
大产品,
超大产品
}

转换方法:

/// <summary>
/// 枚举类型转化为DataTable
/// </summary>
public static DataTable EnumToDataTable(Type enumType, string key, string val)
{
var names = Enum.GetNames(enumType);
var values = Enum.GetValues(enumType); var table = new DataTable();
table.Columns.Add(key, Type.GetType("System.String"));
table.Columns.Add(val, Type.GetType("System.Int32"));
table.Columns[key].Unique = true;
for (int i = ; i < values.Length; i++)
{
var dr = table.NewRow();
dr[key] = names[i];
dr[val] = (int)values.GetValue(i);
table.Rows.Add(dr);
}
return table;
}

引用:

 var dt = EnumToDataTable(typeof(ProductType), "key", "value");