enum

Python 3标准库课件第二章

删除回忆录丶 提交于 2019-12-02 08:30:18
整理第一章我又觉得烦,我就看第二章了,灰头土脸的, 第二章 一、如列表(list)、元组(tuple)、字典(dict)、集合(set) 二、 2.1 enum:枚举类型 enum模块定义了一个提供迭代和比较功能的枚举类型。可以用这个模块为值创建明确定义的符号,而不是使用字面量整数或字符串。 2.1.1 创建枚举 可以使用class语法派生Enum并增加描述值的类属性来定义一个新枚举。 enum_create.py import enum class BugStatus(enum.Enum): new = 7 incomplete = 6 invalid = 5 wont_fix = 4 in_progress = 3 fix_committed = 2 fix_released = 1 print('\nMember name: {}'.format(BugStatus.wont_fix.name)) print('Member name: {}'.format(BugStatus.wont_fix.value)) print('\nMember new: {}'.format(BugStatus.new.name)) print('Member new: {}'.format(BugStatus.new.value)) 解析这个类时,Enum的成员会被转换为实例

【转载】将C#里的枚举Enum转换为int

◇◆丶佛笑我妖孽 提交于 2019-12-02 05:23:42
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/lzdidiv/article/details/71170528 将枚举类型转换为int在C#里非常简单,直接(int)强转就行了,可是这样写代码不方便,尤其让我这种懒癌患者难受,我喜欢用扩展方法的方式实现转换(如果不理解扩展方法请自行补课,这里不再介绍),比如这样string转int: public static class ExtendString { public static int ToInt(this string s, int defaultValue = 0) { int i; return int.TryParse(s, out i) ? i : defaultValue; } } 比什么Convert或者Parse不知道高到哪里去了: string str = "123"; int i = str.ToInt(); 同样处理Enum行不行? public static class ExtendEnum { public static int ToInt(this System.Enum e) { return (int)e; } } 很可惜Enum类型的实参可以强转为int,但是形参不行

MySql 枚举和集合 详解

喜欢而已 提交于 2019-12-02 05:07:49
枚举与集合 枚举类型,enum 每个枚举值均有一个索引值: 在列说明中列表值所允许的成员值被从 1 开始编号。 一般来说就是单选,在定义枚举的时候列出所有的可能性; 代码如下 1. create table type_enum( 2. gender enum('male','remale','serect'), 3. ); 4. insert into type_enum values ('remale'); 在处理时,类似字符串型进行操作! 意义在于: 1, 限定值的可能性! 2, 速度快,比普通的字符串速度快! 原因是枚举型 是利用 整数进行管理的,能够2个字节进行管理! 每个值,都是一个整数标识,从第一个选项开始为1,逐一递增! 管理时整数的形式,速度比字符串快! 一共有2 个字节,0-65535,因此可以有 65535个选项可以使用!、 集合 set 不定想项选 类似于 enum枚举,在定义时,也需要指定其已有值! 与字符串相比,优势是: 1, 也是采用 整数进行管理的!采用位运算,从第一位开始为1,逐一x2! 2, 每个集合类型8个字节,64位,因此可以表示64个元素! 注意:站在 mysql的角度,尽量多用枚举和集合! 扩展: 集合 set 扩展 在创建表时,就指定SET类型的取值范围。 属性名 SET('值1','值2','值3'...,'值n') 其中,“属性名

枚举注解反射整合详解

梦想的初衷 提交于 2019-12-02 04:54:53
一丶枚举 1 ** 2 * 一、枚举类的使用 3 * 1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 4 * 2.当需要定义一组常量时,强烈建议使用枚举类 5 * 3.如果枚举类中只有一个对象,则可以作为单例模式的实现方式。 6 * 7 * 二、如何定义枚举类 8 * 方式一:jdk5.0之前,自定义枚举类 9 * 方式二:jdk5.0,可以使用enum关键字定义枚举类 10 * 11 * 三、Enum类中的常用方法: 12 * values()方法:返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值。 13 * valueOf(String str):可以把一个字符串转为对应的枚举类对象。要求字符串必须是枚举类对象的“名字”。如不是,会有运行时异常:IllegalArgumentException。 14 * toString():返回当前枚举类对象常量的名称 15 * 16 * 四、使用enum关键字定义的枚举类实现接口的情况 17 * 情况一:实现接口,在enum类中实现抽象方法 18 * 情况二:让枚举类的对象分别实现接口中的抽象方法 19 * 20 * @author shkstart 21 * @create 2019 上午 10:17 22 */ 23 public class SeasonTest { 24 ​ 25 public

枚举enum

北慕城南 提交于 2019-12-02 03:27:42
枚举 Enum 1.7+ enum 默认继承Object 跟Enum enum 里面的枚举值各自只有一份.enum是不能new出来的。 会默认一个无参的构造方法,如果自定义一个构造方法,则不会默认创建无参的构造方法。 构造方法是private (switch中key的值也可以是enum) 来源: https://www.cnblogs.com/sunzhiqiang/p/11728860.html

C 数组、枚举类型enum

丶灬走出姿态 提交于 2019-12-02 00:01:48
传递数组给函数 告诉编译器函数要接受一个指针 skip //函数声明,数组的长度无需声明,因为编译器不会对形式参数进行边界检查 void myFunction(int param[]) //或者 void myFunction(int *param) skip 从函数中返回数组 参考连接: https://www.runoob.com/cprogramming/c-return-arrays-from-function.html C不允许返回一个完整的数组作为参数,所以如果是传值调用,你可以通过返回一个数组名来返回一个执行数组的指针,那么就定义一个返回指针的函数 int * funcname(){} //另外由于C不允许在函数外返回一个局部变量的地址,除非使用static定义局部变量,即如果想要返回一个数组,除了定义返回类型为指针外,我们还必须在函数内部使用static定义局部变量 枚举类型 参考类型: https://www.runoob.com/cprogramming/c-enum.html 枚举类型是C中的一种基本数据类型,他可以让程序更简洁,更易读 枚举变量 定义枚举变量,分清楚枚举变量和枚举类型的区别 //先定义枚举类型,后定义枚举变量 enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN }; enum DAY week; /

.NET(C#)实现桌面背景切换(控制台应用程序,windows服务版的未实现成功)

痞子三分冷 提交于 2019-12-01 18:24:55
AdvancedBackgroundJimmy.Program.cs using AdvancedBackground; using Microsoft.Win32; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.ServiceProcess; using System.Threading.Tasks; using System.Timers; namespace AdvancedBackgroundJimmy { [System.Runtime.Remoting.Contexts.Synchronization] static class Program { const int SPI_GETDESKWALLPAPER = 0x73; const int MAX_PATH = 260; const int SPI_SETDESKWALLPAPER = 0x14; const int SPIF_UPDATEINIFILE = 0x01; const int SPIF_SENDININICHANGE = 0x02; static string

Mysql支持的数据类型(总结)

試著忘記壹切 提交于 2019-12-01 14:18:42
一.数值类型 Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUBLE PRESISION),并在此基础上进行扩展。 扩展后增加了TINYINT,MEDIUMINT,BIGINT这3种长度不同的整形,并增加了BIT类型,用来存放位数据。 整数类型 字节 范围(有符号) 范围(无符号) 用途 TINYINT 1字节 (-128,127) (0,255) 小整数值 SMALLINT 2字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值 INT或INTEGER 4字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值 BIGINT 8字节 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值 FLOAT 4字节 (-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3

mybatis 处理枚举类型

北城以北 提交于 2019-12-01 11:53:34
MyBatis支持持久化enum类型属性。假设t_user表中有一列gender(性别)类型为 varchar2(10),存储 MALE 或者 FEMALE 两种值。并且,User对象有一个enum类型的gender 属性,如下所示: public enum Gender { MALE,FEMALE; } 默认情况下MyBatis使用EnumTypeHandler来处理enum类型的Java属性,并且将其存储为enum值的名称。我们不需要为此做任何额外的配置。可以像使用基本数据类型属性一样使用enum类型属性,如下: create table t_user( id number primary key, name varchar2(50), gender varchar2(10) ); public class User{ private Integer id; private String name; private Gender gender; //setters and getters } 测试方法: @Test public void test_insertUser(){ SqlSession sqlSession = null; try { sqlSession = MyBatisSqlSessionFactory.openSession(); SpecialMapper

C# Enum操作

拈花ヽ惹草 提交于 2019-12-01 09:45:24
枚举定义 /// <summary> /// 节点类型 /// </summary> public enum NodeTypeEnum { 企业 = 1, 人员 = 2, 人员地址疑似 = 5, 控股关系 = 6, 参股 = 7, 控股 = 11 } 枚举操作方法 /// <summary> /// 获取枚举对应的值 /// </summary> /// <typeparam name="T">枚举类型</typeparam> /// <param name="enumName">枚举对应值的名</param> /// <returns>枚举对象对应的值</returns> public static int GetEnumValue<T>(this object enumName) { return (int)enumName.GetEnumObj<T>(); } /// <summary> /// 获取枚举对象 /// </summary> /// <typeparam name="T">枚举类型</typeparam> /// <param name="enumName">枚举对应值的名</param> /// <returns>枚举对象</returns> private static object GetEnumObj<T>(this object enumName) {