精华内容
下载资源
问答
  • 枚举获取全部参数

    2020-12-11 21:26:32
    需求:把下面的数个输入项发送到后台处理 一般的操作如下 用枚举的操作如下 枚举后得到的数据如下 总结:当提交的数据量较少时,...反之,当提交的数据量较大时,用枚举循环获取可以减少代码量,方便灵活。 ...

    需求:把下面的数个输入项发送到后台处理
    在这里插入图片描述

    一般的操作如下

    在这里插入图片描述

    用枚举的操作如下
    在这里插入图片描述

    枚举后得到的数据如下
    在这里插入图片描述

    总结:当提交的数据量较少时,直接用名称获取获取数据较为方便。反之,当提交的数据量较大时,用枚举循环获取可以减少代码量,方便灵活。

    展开全文
  • 只用过枚举遍历法,但是不知道怎么样才能遍历枚举中的全部元素,得到一个数组,希望大神们指教
  • 获取动态枚举的值和说明

    千次阅读 2011-08-18 15:37:51
    #region 获得枚举类型所包含的全部项的列表  ///  /// 获得枚举类型所包含的全部项的列表。  ///  /// 枚举的类型  /// 是否包含"All

    #region 获得枚举类型所包含的全部项的列表

            /// <summary>
            /// 获得枚举类型所包含的全部项的列表。
            /// </summary>
            /// <param name="enumType">枚举的类型</param>
            /// <param name="withAll">是否包含"All"</param>
            /// <returns></returns>
            public List<EnumItem> GetEnumItems(Type enumType, bool withAll)
            {
                List<EnumItem> list = new List<EnumItem>();

                if (enumType.IsEnum != true)
                {
                    // 不是枚举类型
                    throw new InvalidOperationException();
                }

                // 包含 All 选项
                //if (withAll == true)
                //    list.Add(new EnumItem(AppConst.IntNull, "All"));

                // 获得特性Description的类型信息
                Type typeDescription = typeof(DescriptionAttribute);

                // 获得枚举的字段信息(因为枚举的值实际上是一个static的字段的值)
    System.Reflection.FieldInfo[] fields = enumType.GetFields();

                // 检索所有字段
                foreach (FieldInfo field in fields)
                {
                    // 过滤掉一个不是枚举值的,记录的是枚举的源类型
                    if (field.FieldType.IsEnum == false)
                        continue;

                    // 通过字段的名字得到枚举的值
                    int value = (int)enumType.InvokeMember(field.Name, BindingFlags.GetField, null, null, null);
                    string text = string.Empty;

                    // 获得这个字段的所有自定义特性,这里只查找Description特性
                    object[] arr = field.GetCustomAttributes(typeDescription, true);
                    if (arr.Length > 0)
                    {
                        // 因为Description自定义特性不允许重复,所以只取第一个
                        DescriptionAttribute aa = (DescriptionAttribute)arr[0];

                        // 获得特性的描述值
                        text = aa.Description;
                    }
                    else
                    {
                        // 如果没有特性描述,那么就显示英文的字段名
                        text = field.Name;
                    }
                    list.Add(new EnumItem(value, text));
                }

                return list;
            }

            #endregion

       public class EnumItem
        {
            private object m_key;
            private object m_value;

            public object Key
            {
                get { return m_key; }
                set { m_key = value; }
            }

            public object Value
            {
                get { return m_value; }
                set { m_value = value; }
            }

            public EnumItem(object _key, object _value)
            {
                m_key = _key;
                m_value = _value;
            }
        }

    public enum EnumReturnedType
        {

         [DisplayName("说明")]
        Returned = 1,

    }

    第二种方法:

    public enum EnumReturnedType
        {
            /// <summary>
            /// 退货
            /// </summary>
            [EnumAttribute("退货")]
            Returned = 1,

        }

    -------------------------------------------------------

        /// <summary>
        /// 自定义属性
        /// </summary>   
        [AttributeUsage(AttributeTargets.Field, AllowMultiple = true)]
        public class EnumAttribute : Attribute
        {
            /// <summary>
            /// 适用区域性
            /// </summary>
            public string Culture { set; get; }

            /// <summary>
            /// 说明信息
            /// </summary>
            public string Description { set; get; }

            /// <summary>
            /// 初始化说明信息
            /// </summary>
            /// <param name="description">说明信息</param>
            public EnumAttribute(string description)
            {
                this.Description = description;
                this.Culture = string.Empty;
            }

            /// <summary>
            /// 初始化说明信息及适用区域性
            /// </summary>
            /// <param name="description">说明信息</param>
            /// <param name="culture">适用区域性</param>
            public EnumAttribute(string description, string culture)
            {
                this.Description = description;
                this.Culture = culture;
            }
        }

       /// <summary>
            /// 获得枚举说明
            /// </summary>
            public static Dictionary<Enum, string> GetDescriptions(Type t)
            {

                Dictionary<Enum, string> d = new Dictionary<Enum, string>();

                if (t.IsEnum == false) return d;

                var values = Enum.GetValues(t);

                foreach (var item in values) d.Add((Enum)item, ((Enum)item).GetDescription());

                return d;
            }

    用法:

    Dictionary<Enum, string> disType = EnumHelper.GetDescriptions(typeof(EnumReturnedType));

                foreach (var kv in disType)
                {
                    type.Add(new SelectListItem
                    {
                        Value = kv.Key.ToString("d"),
                        Text = kv.Value
                    });
                }

    展开全文
  • 在研究3d模型的时候,需要获取枚举类型的所有枚举内容,以及把这些内容又转换为枚举类型,替降低代码的重复率 获取枚举类型的所有枚举内容:  List list = new List(); //定义一个集合存储枚举内容  Type t=...

    在研究3d模型的时候,需要获取枚举类型的所有枚举内容,以及把这些内容又转换为枚举类型,替降低代码的重复率

    获取枚举类型的所有枚举内容:

                List<string> list = new List<string>();         //定义一个集合存储枚举内容
                Type t=typeof(viewType);                               //viewType为需要获取内容的枚举类型


                foreach (string name in Enum.GetNames(t))
                {
                    list.Add(name);
                }


    字符串转化为枚举类型:

    string s;               //需要转换为枚举类型的字符串

    viewType viewType = (viewType)(Enum.Parse(typeof(viewType), s));  //viewType为需要转换成的枚举类型

    展开全文
  • 枚举

    2020-06-03 21:09:20
    枚举类 一个类中有个数有限且固定的对象 通过类名字直接访问对象 private构造方法; public static final属性 = new 对象/常量 JDK1.5版本之后可以直接定义enum类型 ...values():获取全部枚举对象----->

    枚举类

    1. 一个类中有个数有限且固定的对象
    2. 通过类名字直接访问对象
    3. private构造方法; public static final属性 = new 对象/常量
    4. JDK1.5版本之后可以直接定义enum类型
    5. 定义的枚举类直接继承Enum类(不允许继承其他的类),间接继承Object类

    Enum

    两个属性
    name:表示当前枚举对象的名字
    ordinal:枚举对象在类中的顺序(从0开始)
    常用方法
    valueof():通过给定的name获取对应的枚举对象
    values():获取全部枚举对象----->返回一个枚举类型数组
    compareTo():可以比较两个枚举对象
    toString():没有final修饰,可以重写

    MyDay.java

    package myenum;
    
    public class MyDay {
        //类似于单例
        //私有的构造方法
        private MyDay(){}
        //所有对象都是属性
        public static final MyDay monday = new MyDay();
        public static final MyDay tuesday = new MyDay();
        public static final MyDay wednesday = new MyDay();
        public static final MyDay thursday = new MyDay();
        public static final MyDay friday = new MyDay();
        public static final MyDay saturday = new MyDay();
        public static final MyDay sunday = new MyDay();
    }
    
    

    Day.java

    package myenum;
    
    public enum Day {
        //相当于描述了7个当前类的对象
        monday,tuesday,wednesday,thursday,friday,saturday,sunday
    }
    
    

    Test.java

    package myenum;
    
    public class Test {
        public static void main(String[] args){
            MyDay myday = MyDay.friday;//myday类中访问一个对象 7个
            Day day = Day.monday;//day相当于枚举类型的对象
    
            Day[] days = Day.values();//获取所有枚举对象
            for(Day d:days){
                System.out.println(d.name()+"----"+d.ordinal());
            }
        }
    }
    
    

    在switch中使用枚举

    package myenum;
    import java.util.Scanner;
    public class Test1 {
        public static void main(String[] args){
            Scanner input = new Scanner(System.in);
            System.out.println("请您输入一个星期的英文单词");
            String key = input.nextLine();
            Day day = Day.valueOf(key);
            switch (day){
                case monday:
                    System.out.println("今天是星期一");
                    break;
                case tuesday:
                    System.out.println("今天是星期二");
                    break;
                case wednesday:
                    System.out.println("今天是星期三");
                    break;
                case thursday:
                    System.out.println("今天是星期四");
                    break;
                case friday:
                    System.out.println("今天是星期五");
                    break;
                case saturday:
                    System.out.println("今天是星期六");
                    break;
                case sunday:
                    System.out.println("今天是星期日");
                    break;
                default:
                	System.out.println("出现错误");
            }
        }
    }
    
    

    可以在enum类中描述一下自己的属性或者方法

    必须在第一行描述枚举的样子
    必须提供带有private的构造方法(可以重载)

    package myenum;
    
    public enum Day {
        //相当于描述了7个当前类的对象
        monday("星期一",0),tuesday,wednesday,thursday,friday,saturday,sunday;
        
        private String name;
        private int index;
        private Day(){}
        private Day(String name,int index){
            this.name = name;
            this.index = index;
        }
        public String getName(){
            return this.name;
        }
    }
    
    
    展开全文
  • 【C#】C#获取枚举所有名称和值

    千次阅读 2019-03-30 17:39:18
    先定义一个枚举类型 public enum Word { A = 0, B = 1, C = 2, D = 3 } 获取全部名称 string[] nameList= System.Enum.GetNames(typeof(Word)); ...
  • 单独获取枚举成员名称和获取枚举全部成员名称list
  • 遍历枚举

    千次阅读 2013-09-09 20:56:00
    为了方便,我们通常将同类选项封装成枚举里,有时为了能让用户选择,需要将枚举里的值全部显示出来,我们可以通过Enum.GetValues(),方法实现,该方法的声明如下: public static Array GetValues(Type enumType)...
  • 枚举的创建可以把一类具有相同意义的常量放在一个相同的枚举类里,获取里面的常量值是在类加载使用的时候使用反射机制获取的值。枚举类的创建:public enum BooleanType {NULL(""),TRUE("1"),FALSE("0");BooleanType...
  • 【Java】枚举

    2020-05-19 21:44:19
    文章目录枚举1、枚举(JDK1.5引入的)2、语法格式3、在其他类中如何获取枚举的常量对象4、枚举类型的特点5、父类java.lang.Enum类型 1、枚举(JDK1.5引入的) 类似:列举,穷举,一一罗列。 Java枚举:把某个类型的...
  • java枚举enum

    2018-04-13 17:16:13
    枚举枚举类型的实例都是常量,因此按照取名惯例,全部用大写字母,多个单词用 _ (下划线)隔开Enum类.ordinal() : 获取在Enum里的下标顺序(0开始)Enum结合switch使用时很好的使用方式,在这里就不举例了,贴...
  • 使用EnumSet类的add()方法添加元素,使用EnumSet类的remove()方法删除元素,使用EnumSet类的complementOf()方法获取对象的全部,使用EnumSet类的range()方法获取指定范围的元素。代码如下:package ...
  • 10.TypeScript完全解读-枚举新建enum.ts并在jindex.ts中引用一个简单的数字枚举可以通过两种方式获取枚举的值获取到编码,第一个默认为0,后面的一次递增第二种形式可以自己制定编码,那么后面的一次递增全部一次...
  • Set是Java集合类的重要...使用EnumSet类的add()方法添加元素,使用EnumSet类的remove()方法删除元素,使用EnumSet类的complementOf()方法获取对象的全部,使用EnumSet类的range()方法获取指定范围的元素。  代码如下
  • 反射&枚举

    2020-05-15 10:39:15
    概念:在运行状态中,可以得到任意一个类的全部属性和方法,对于任意一个对象都能调用它的属性和方法,这种动态获取信息和动态调用对象方法的功能就是反射机制。 前提:反射的前提是 一定要拿到字节码文件对象 ....
  • 枚举类的创建和使用

    2017-05-09 15:41:00
    枚举的创建可以把一类具有相同意义的常量放在一个相同的枚举类里,获取里面的常量值是在类加载使用的时候使用反射机制获取的值。 枚举类的创建: public enum BooleanType { NULL(""), TRUE("1"), ...
  • java枚举常量的使用

    2017-07-25 10:02:54
    —–第二种方法是根据code来获取内容,可用于对接第三方接口时,对面只给返回码,不给描述信息,让自己去对照文档看是啥意思(特别坑),这时候可以用枚举常量来把其全部列出。 方法一:package ...
  • C#获取文件的全部信息

    千次阅读 2017-07-04 16:59:08
    转载自...Attributes 返回和文件相关的属性值,运用了FileAttributes枚举类型值 CreationTime 返回文件的创建时间 Exists 检查文件是否存在于给定的目录中 Extension 返回文件的扩展名 Las
  • 文章目录枚举枚举类的主要方法实现接口的枚举类注解学习的重点内置注解元注解自定义注解反射类加载器加载配置文件所有类型的Class对象得到Class的几种方式获取Constructor通过class对象获取一个类的构造方法...
  • 可以通过两种方式获取枚举的值 获取到编码,第一个默认为0,后面的一次递增 第二种形式 可以自己制定编码,那么后面的一次递增 全部一次递增的结果 制定中间的为2 那么第一个还是0 ,2后面的会递增 ...
  • 枚举类和字典

    2020-11-15 16:14:25
    一般情况下,如果系统中存在大量的状态常量值...若使用枚举类也需要code和name两个属性,在枚举类中可以定义获取全部枚举的方法。如: import java.util.ArrayList; import java.util.List; public enum SeasonEnum {
  • 方法会把所有的 CustomSetting下的注册的 C#类 在初始化tolua时全部获取内存地址进行lua映射处理,对性能有消耗 2.目前C#一些API的参数有枚举类的话必须使用枚举类来传递不能使用int数值来传值,导致如果打包后没有...
  • 前几天在想一个功能时,卡壳了,搞了几天,终于完成了所想。...我就在想,能不能将这些"常量"全部分成n各枚举类型,每次查的时候不用去数据库中查,而是通过枚举类“.”枚举值去获取数据。 然而,这些又不是一成不
  • 参数:--tables获取全部表名 -D数据库名 获取指定数据库中的表 python sqlmap.py -u "http://172.17.0.1/Less-1/?id=1" --tables -D 数据库名 --exclude-sysdbs可排除系统数据库 3、sqlmap列举数据表列 参数:--...
  • 资源介绍:' WOW64的32位程序其实拥有64位程序的全部功能,包括32注入64位、枚举64位进程模块、Hook64位模块、调用64位API等等等等....' 因为WOW64程序不是完全的虚拟化的,是伪虚拟化,本身就是一个64位进程,只是...
  • 我记得C语言里枚举文件是通过next来不断获取下一个文件,这样避免了内存不足的问题,但是java里只有list方法,也就是一下子获取所有文件的对象,还有带筛选器的list,但里面的实现还是先list全部然后再迭代筛选。...
  • 获取对象属性

    2020-12-19 15:11:06
    迭代(遍历):并不是一次列举全部元素,是在循环的过程中遍历出元素 获取属性各个API介绍 for…of 遍历数组获取value不可以遍历对象,对象可以使用Object.entries()或者Object.keys()或者Object.vaules()将对象转为...
  • 最近面试遇到问如何获取对象全部属性名的方法,总结一下: 对象属性类型分类: 1.ESMAScript分类 数据类型 又分为可枚举和不可枚举类型 访问器类型 2.上下文分类 原型属性 实例属性 1.列举自身但不包括原型的可枚举...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 126
精华内容 50
关键字:

获取全部枚举