Questions tagged «enums»

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


5
打字稿有联合,所以枚举是多余的吗?
自从TypeScript引入并集类型以来,我想知道是否有任何理由声明枚举类型。考虑以下枚举类型声明: enum X { A, B, C } var x:X = X.A; 和类似的联合类型声明: type X: "A" | "B" | "C" var x:X = "A"; 如果它们基本上具有相同的目的,并且工会更强大且更具表现力,那么为什么枚举是必要的?

7
不能将枚举类用作unordered_map键
我有一个包含枚举类的类。 class Shader { public: enum class Type { Vertex = GL_VERTEX_SHADER, Geometry = GL_GEOMETRY_SHADER, Fragment = GL_FRAGMENT_SHADER }; //... 然后,当我在另一个类中实现以下代码时... std::unordered_map<Shader::Type, Shader> shaders; ...我得到一个编译错误。 ...usr/lib/c++/v1/type_traits:770:38: Implicit instantiation of undefined template 'std::__1::hash<Shader::Type>' 这是什么导致错误?
77 c++  c++11  map  enums  enum-class 

10
使用和保留枚举的最佳实践
我在这里看到了几个有关处理和持久保存枚举式值的最佳方法的问题/讨论(例如,持久化适用于枚举的数据,如何使用NHibernate来持久化枚举),我想问一下一般共识。 尤其是: 这些值应如何在代码中处理? 应该如何将它们持久保存到数据库中(作为文本/作为数字)? 不同解决方案的权衡是什么? 注意:我已将本问题中最初包含的解释移至答案。

11
C#如何在开关中使用枚举
我不知道如何结合枚举使用开关。您能否告诉我我在做什么错,以及如何解决?我必须使用一个枚举来制作基本计算器。 public enum Operator { PLUS, MINUS, MULTIPLY, DIVIDE } public double Calculate(int left, int right, Operator op) { int i = (int) op; switch(i) { case 0: { return left + right; } case 1: { return left - right; } case 2: { return left * right; } …

6
如何在Java中从常量向枚举提供枚举值
我无法使用从常量中获取的枚举作为注释中的参数。我收到此编译错误:“注释属性[attribute]的值必须是一个枚举常量表达式”。 这是枚举代码的简化版本: public enum MyEnum { APPLE, ORANGE } 对于注释: @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.METHOD }) public @interface MyAnnotation { String theString(); int theInt(); MyEnum theEnum(); } 和班级: public class Sample { public static final String STRING_CONSTANT = "hello"; public static final int INT_CONSTANT = 1; public static final MyEnum MYENUM_CONSTANT = …

5
从Java中的枚举获取字符串值
我有一个像这样定义的枚举,我希望能够获取各个状态的字符串。我应该如何写这样的方法? 我可以获取状态的int值,但也希望从int中获取字符串值。 public enum Status { PAUSE(0), START(1), STOP(2); private final int value; private Status(int value) { this.value = value } public int getValue() { return value; } }
76 java  enums 

8
Java枚举return Int
我在声明枚举时遇到麻烦。我要创建的是“ DownloadType”的枚举,其中有3种下载类型(AUDIO,VIDEO,AUDIO_AND_VIDEO)。 我已经实现了如下代码: private enum DownloadType { AUDIO(0), VIDEO(1), AUDIO_AND_VIDEO(2); private final int value; private DownloadType(int value) { this.value = value; } } 如果我再像这样使用它,则效果很好: DownloadType.AUDIO_AND_VIDEO.value; 但是,我希望这样,所以我不必要求“值”。我可能会弄错,但这是Java中几个类(例如Font)工作的方式,例如,设置字体样式,您可以使用: Font.PLAIN 它返回一个int值,我们不使用: Font.PLAIN.value
76 java  enums 

8
Java枚举反向查找最佳实践
我在博客上看到它的建议是,以下是getCode(int)在Java枚举中使用“反向查找”的合理方法: public enum Status { WAITING(0), READY(1), SKIPPED(-1), COMPLETED(5); private static final Map<Integer,Status> lookup = new HashMap<Integer,Status>(); static { for(Status s : EnumSet.allOf(Status.class)) lookup.put(s.getCode(), s); } private int code; private Status(int code) { this.code = code; } public int getCode() { return code; } public static Status get(int code) { …


7
如何从Swift的原始值中获取枚举?
我试图从原始值获取枚举类型: enum TestEnum: String { case Name case Gender case Birth var rawValue: String { switch self { case .Name: return "Name" case .Gender: return "Gender" case .Birth: return "Birth Day" } } } let name = TestEnum(rawValue: "Name") //Name let gender = TestEnum(rawValue: "Gender") //Gender 但是似乎rawValue对于带空格的字符串不起作用: let birth = …
76 ios  swift  enums 


6
如何将枚举值序列化为int?
我想将我的enum-value序列化为一个int,但是我只知道名字。 这是我的(示例)类和枚举: public class Request { public RequestType request; } public enum RequestType { Booking = 1, Confirmation = 2, PreBooking = 4, PreBookingConfirmation = 5, BookingStatus = 6 } 和代码(只是为了确保我没有做错) Request req = new Request(); req.request = RequestType.Confirmation; XmlSerializer xml = new XmlSerializer(req.GetType()); StringWriter writer = new StringWriter(); xml.Serialize(writer, …

10
如何在Objective-C中使Swift String枚举可用?
我有一个带有String值的枚举,它将用于告诉将消息记录到服务器的服务器类型的API方法。我正在使用Swift 1.2,因此可以将枚举映射到Objective-C @objc enum LogSeverity : String { case Debug = "DEBUG" case Info = "INFO" case Warn = "WARN" case Error = "ERROR" } 我得到了错误 @objc枚举原始类型字符串不是整数类型 我没有设法找到任何地方说只有整数可以从Swift转换为Objective-C。是这样吗 如果是这样,是否有人对在Objective-C中提供类似的最佳实践建议?


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.