C# Enum转换

public class Enum2
    {

        public Dictionary<string, int> GetEnumItems<T>()
        {
            Dictionary<string, int> dicResult = new Dictionary<string, int>();
            T obj = default(T);
            Type type = obj.GetType();
            foreach (string s in type.GetEnumNames())
            {
                dicResult.Add(s, Convert.ToInt16((T)Enum.Parse(typeof(T), s, true)));
            }
            return dicResult;
        }

        public T GetEnumByEnumName<T>(string enumName)
        {
            T result = default(T);
            if (Enum.IsDefined(typeof(T), enumName))
            {
                result = (T)Enum.Parse(typeof(T), enumName, true);
            }
            else
            {

            }
            return result;
        }

        public T GetEnumByEnumIndex<T>(int ienum)
        {
            T result = default(T);
            if (Enum.IsDefined(typeof(T), ienum))
            {
                result = (T)Enum.Parse(typeof(T), ienum.ToString(), true);
            }
            else
            {

            }
            return result;
        }

C# Enum转换

时间: 2024-10-09 18:24:02

C# Enum转换的相关文章

自己写的enum转换的一个扩展,

public static String ToEnumName(this int? source, Type e) { if (!source.HasValue) throw new ArgumentException("enum转换title 需要值"); return Enum.Parse(e, source.Value.ToString()).ToString(); } 用法 1.ToEnumName(typeof(AssetEnum))

springboot mybatis自定义枚举enum转换

原文链接:https://blog.csdn.net/u014527058/article/details/62883573 一.概述 在利用Spring进行Web后台开发时,经常会遇到枚举类型的绑定问题.一般情况下,如果Spring接收到的参数值为字符串类型,Spring会根据枚举的值与传入的字符串进行对应.假设有如下枚举 清单1:枚举定义 public enum Gender { MALE, FEMALE; } 那么,只要客户端在发送请求时,将参数的值设为MALE或FEMALE即可.请求类似

Qt enum使用总结

一.enum 自省 const QMetaObject &mo = [ClassName]::staticMetaObject; int index = mo.indexOfEnumerator("[EnumName]"); QMetaEnum me = mo.enumerator(index); 若 enum 定义在当前类中,则可以简写为 int index = staticMetaObject.indexOfEnumerator("[EnumName]"

基于JSON.NET为Enum实现数据与界面分离

在日常做项目过程中,一直很烦恼枚举值显示问题.当添加,修改,删除枚举值时,都要去修改界面原先的中文表述,很是麻烦.今天针对Enum做相应的扩展,并实现Newtonsoft.Json(JSON.NET)JsonConverter个性化定制,使数据与界面分离,此方法适用于依赖Json数据结构传输数据的应用开发,例如:web 开发. 1.首先,实现Localization属性标签 [AttributeUsage(AttributeTargets.Field)] public class Localiz

UnrealScript语言基础

总体特征 (1)大小写不敏感.关键字.宏.变量名.函数名以及类名不区分大小写:变量名可以与关键字同名 (2)局部变量.成员变量未初始化时,会被编译器初始化 (3)没有全局变量.全局函数,所有东西必须写入类中 (4)一个uc文件中,有且只能写一个类,且文件名与类名要一致 (5)变量和函数默认为public类型,函数默认为虚函数 (6)不支持函数重载,但支持运算符重载和缺省参数 (7)不支持异常处理,不支持模板泛型 (8)无需显示导入外部包,uc文件可以使用当前包及之前编译的包中定义的类型和函数 (

WPF 实用技巧收录

将enum转换成一个list去binding Step 1: 添加一个ObjectDataProvider <UserControl> <UserControl.Resources> <ObjectDataProvider x:Key="MyEnumNameList" MethodName="GetValues" ObjectType="{x:Type system:Enum}"> <ObjectData

iOS开发基础----OC/UI控件

1. 前缀-> 只是代码组合之后,用来区分谁写的代码 2. 工具包frameworks 总共4个工具包,前3个是经常用的,最后一个是测试用的. 3. iphone 6 的SDK 是建立在 ios 8.0以上的 4.ios的界面虽然发生了改变,但还是从main.m中执行的,只是main.m没有放在导航区,而是放在Supporting Files 分组中.注意不是文件夹,是分组. main.m里有这个 return UIApplicationMain(argc, argv, nil, NSStrin

zend framework获取数据库中枚举类enum的数据并将其转换成数组

在model中建立这样的模型,在其中写入获取枚举类的方法 class Student extends Zend_Db_Table{ protected $_name ='student'; protected $_primary ='id'; function getPartyEnum($enumname){ //适配器并获取数据 $db = $this->getAdapter(); $db->query("SET NAMES GBK"); $sql = $db->q

.NET Enum,Int,String的互相转换

C# Enum,Int,String的互相转换 [转] C# Enum,Int,String的互相转换 Enum为枚举提供基类,其基础类型可以是除 Char 外的任何整型.如果没有显式声明基础类型,则使用 Int32.编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举. 注意:枚举类型的基类型是除 Char 外的任何整型,所以枚举类型的值是整型值. Enum 提供一些实用的静态方法: (1)比较枚举类的实例的方法 (2)将实例的值转换为其字符串表示形式的方法 (3)将数字的字符串表