Questions tagged «enums»

由一组命名值组成的数据类型,这些命名值称为该类型的元素,成员或枚举数。

6
为什么通常用十六进制值定义标志枚举
很多时候,我看到使用十六进制值的标志枚举声明。例如: [Flags] public enum MyEnum { None = 0x0, Flag1 = 0x1, Flag2 = 0x2, Flag3 = 0x4, Flag4 = 0x8, Flag5 = 0x10 } 当我声明一个枚举时,通常会这样声明: [Flags] public enum MyEnum { None = 0, Flag1 = 1, Flag2 = 2, Flag3 = 4, Flag4 = 8, Flag5 = 16 } …
121 c#  .net  enums  enum-flags 


6
在Android中使用枚举
我几乎要完成在Android中为我的应用程序进行的计算活动。我尝试创建一个性别枚举,但是由于某种原因出现语法错误,请插入“ EnumBody”以完成EnumDeclaration。 public static enum Gender { static { Female = new Gender("Female", 1); Gender[] arrayOfGender = new Gender[2]; arrayOfGender[0] = Male; arrayOfGender[1] = Female; ENUM$VALUES = arrayOfGender; } } 我也尝试了不使用静态{}的情况,但是出现了相同的语法错误。
120 android  enums 

13
将枚举转换为另一种枚举
我有一个枚举,例如' Gender'(Male =0 , Female =1),我还有一个服务具有自己的性别枚举(Male =0 , Female =1, Unknown =2)的另一个枚举 我的问题是我该如何快速而又好地将它们的枚举转换为我的枚举?
120 c#  enums 

19
如何轻松地将C ++枚举映射到字符串
我在使用的某些库头文件中有一堆枚举类型,并且我希望有一种将枚举值转换为用户字符串的方法,反之亦然。 RTTI不会为我这样做,因为“用户字符串”必须比枚举更具可读性。 暴力解决方案将是一堆类似这样的功能,但我觉得这有点像C。 enum MyEnum {VAL1, VAL2,VAL3}; String getStringFromEnum(MyEnum e) { switch e { case VAL1: return "Value 1"; case VAL2: return "Value 2"; case VAL1: return "Value 3"; default: throw Exception("Bad MyEnum"); } } 我有一种直觉,认为使用模板是一种优雅的解决方案,但是我还不能完全理解。 更新:感谢您的建议-我应该明确指出枚举是在第三方库标头中定义的,因此我不想更改它们的定义。 我现在的直觉是避免模板并执行以下操作: char * MyGetValue(int v, char *tmp); // implementation is trivial #define ENUM_MAP(type, …
119 c++  templates  enums 

16
为什么Python 3.6.1抛出AttributeError:模块'enum'没有属性'IntFlag'?
我刚刚为MacOS X安装了Python 3.6.1 当我尝试运行控制台(或使用Python3运行任何命令)时,抛出此错误: AttributeError: module 'enum' has no attribute 'IntFlag' $ /Library/Frameworks/Python.framework/Versions/3.6/bin/python3 Failed to import the site module Traceback (most recent call last): File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 544, in <module> main() File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 530, in main known_paths = addusersitepackages(known_paths) File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 282, in addusersitepackages user_site = getusersitepackages() File …

13
在Java中定义错误代码/字符串的最佳方法?
我正在用Java编写Web服务,并且试图找出定义错误代码及其相关错误字符串的最佳方法。我需要将数字错误代码和错误字符串分组在一起。错误代码和错误字符串都将发送到访问Web服务的客户端。例如,当发生SQLException时,我可能要执行以下操作: // Example: errorCode = 1, // errorString = "There was a problem accessing the database." throw new SomeWebServiceException(errorCode, errorString); 客户端程序可能会显示以下消息: “发生了错误#1:访问数据库时出现问题。” 我的第一个想法是使用一个Enum错误代码并重写toString方法以返回错误字符串。这是我想出的: public enum Errors { DATABASE { @Override public String toString() { return "A database error has occured."; } }, DUPLICATE_USER { @Override public String toString() { return …
118 java  enums 

10
如何在C#中传递多个枚举值?
有时,在阅读其他人的C#代码时,我会看到一个方法,该方法将在单个参数中接受多个枚举值。我一直以为它很整洁,但从未研究过。 好吧,现在我想我可能需要它,但是不知道如何 设置方法签名以接受此方法 使用方法中的值 定义枚举 实现这种事情。 在我的特定情况下,我想使用System.DayOfWeek,其定义为: [Serializable] [ComVisible(true)] public enum DayOfWeek { Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6 } 我希望能够将一个或多个DayOfWeek值传递给我的方法。我可以按原样使用此特定枚举吗?我该如何做上面列出的三件事?
117 c#  enums 

3
检查给定的类型是否为枚举
我正在为Json.NET写一个JsonConverter,它应该允许我将任何枚举转换为[Description]属性定义的字符串值。 例如: public enum MyEnum { [Description("Sunday")] Sunday, [Description("Monday")] Monday, [Description("Tuesday")] Tuesday, [Description("Wednesday")] Wednesday, [Description("Thursday")] Thursday, [Description("Friday")] Friday, [Description("Saturday")] Saturday } 我已经有了支持的代码,myEnum.Description()显然它将返回其字符串描述。 在JsonConverter实现中,有以下方法: public override bool CanConvert(Type objectType) { } 我试图弄清楚如何确定是否objectType为an Enum并返回true,以便转换器知道它可以转换此对象。由于我有很多Enum,所以我无法明确检查每个对象,因此我希望找到一种更通用的方法来完成此操作。
117 c#  enums 

2
不同的枚举变量在TypeScript中如何工作?
TypeScript有多种定义枚举的方法: enum Alpha { X, Y, Z } const enum Beta { X, Y, Z } declare enum Gamma { X, Y, Z } declare const enum Delta { X, Y, Z } 如果我尝试Gamma在运行时使用来自的值,Gamma则会收到错误消息,因为未定义,但这不是for Delta或Alpha?的情况。是什么const或declare在这里的声明是什么意思? 还有一个preserveConstEnums编译器标志-它如何与它们交互?
116 enums  typescript 

14
根据数据库查找表中的值自动创建枚举?
如何自动创建枚举并随后基于数据库查找表中的值在C#中使用其值(使用企业库数据层)? 例如,如果我在数据库中添加新的查找值,则不需要在代码中手动添加额外的静态枚举值声明-我想使枚举与数据库保持同步。 有这样的事吗? 我不想创建一个代码生成的静态枚举(根据The Code Project文章Enum Code Generator-从数据库查找表自动生成枚举代码),并且希望它是完全自动的。
116 c#  database  dynamic  enums 

13
C#遍历枚举?(索引System.Array)
我有以下代码: // Obtain the string names of all the elements within myEnum String[] names = Enum.GetNames( typeof( myEnum ) ); // Obtain the values of all the elements within myEnum Array values = Enum.GetValues( typeof( myEnum ) ); // Print the names and values to file for ( int i …

6
Java枚举方法-返回相反方向的枚举
我想声明一个枚举Direction,它具有一个返回相反方向的方法(以下语法不正确,即,不能实例化枚举,但它说明了我的观点)。这在Java中可行吗? 这是代码: public enum Direction { NORTH(1), SOUTH(-1), EAST(-2), WEST(2); Direction(int code){ this.code=code; } protected int code; public int getCode() { return this.code; } static Direction getOppositeDirection(Direction d){ return new Direction(d.getCode() * -1); } }
113 java  enums  enumeration 

8
在Java枚举中使用==可以吗?
是否可以==在Java枚举中使用,还是需要使用.equals()?在我的测试中,它==始终有效,但是我不确定是否可以保证。特别是,.clone()在枚举上没有方法,因此我不知道是否有可能获得一个枚举,该枚举.equals()将返回不同于的值==。 例如,这样可以吗: public int round(RoundingMode roundingMode) { if(roundingMode == RoundingMode.HALF_UP) { //do something } else if (roundingMode == RoundingMode.HALF_EVEN) { //do something } //etc } 还是我需要这样写: public int round(RoundingMode roundingMode) { if(roundingMode.equals(RoundingMode.HALF_UP)) { //do something } else if (roundingMode.equals(RoundingMode.HALF_EVEN)) { //do something } //etc }
111 java  syntax  enums 

5
为什么枚举的构造函数不能访问静态字段?
为什么枚举的构造函数不能访问静态字段和方法?这对于一个类是完全有效的,但对于枚举是不允许的。 我正在尝试将枚举实例存储在静态Map中。考虑下面的示例代码,它允许通过abbreivation查找: public enum Day { Sunday("Sun"), Monday("Mon"), Tuesday("Tue"), Wednesday("Wed"), Thursday("Thu"), Friday("Fri"), Saturday("Sat"); private final String abbreviation; private static final Map<String, Day> ABBREV_MAP = new HashMap<String, Day>(); private Day(String abbreviation) { this.abbreviation = abbreviation; ABBREV_MAP.put(abbreviation, this); // Not valid } public String getAbbreviation() { return abbreviation; } public static Day …
110 java  enums 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.