Questions tagged «enums»

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


10
枚举上最常见的C#按位运算
为了我的一生,我不记得如何在位域中进行设置,删除,切换或测试。我不确定还是将它们混在一起,因为我很少需要这些。因此,拥有一个“位备忘单”将是不错的选择。 例如: flags = flags | FlagsEnum.Bit4; // Set bit 4. 要么 if ((flags & FlagsEnum.Bit4)) == FlagsEnum.Bit4) // Is there a less verbose way? 您能否给出所有其他常见操作的示例,最好使用[Flags]枚举以C#语法显示?



9
用固定值在JPA中映射枚举?
我正在寻找使用JPA映射枚举的不同方法。我特别想设置每个枚举项的整数值,并且只保存整数值。 @Entity @Table(name = "AUTHORITY_") public class Authority implements Serializable { public enum Right { READ(100), WRITE(200), EDITOR (300); private int value; Right(int value) { this.value = value; } public int getValue() { return value; } }; @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "AUTHORITY_ID") private Long id; // the enum …
192 java  spring  orm  jpa  enums 

7
如何将枚举设置为null
我有一个枚举 string name; public enum Color { Red, Green, Yellow } 如何在加载时将其设置为NULL。 name = ""; Color color = null; //error 编辑:我不好,我没有正确解释。但是所有与nullable有关的答案都是完美的。我的情况是,如果我在类中具有其他元素(如名称等)的枚举值,则该怎么做。在页面加载时,我初始化该类并尝试将值默认为null。这是场景(代码在C#中): namespace Testing { public enum ValidColors { Red, Green, Yellow } public class EnumTest { private string name; private ValidColors myColor; public string Name { get { return name; …
191 c#  enums  null  nullable 

21
如何在C ++中将枚举用作标志?
通过将enums当作标志在C#中很好地工作[Flags]属性,但是在C ++中实现此目标的最佳方法是什么? 例如,我想写: enum AnimalFlags { HasClaws = 1, CanFly =2, EatsFish = 4, Endangered = 8 }; seahawk.flags = CanFly | EatsFish | Endangered; 但是,我得到有关int/ enum转换的编译器错误。有没有比钝铸更好的表达方式了?最好,我不想依赖来自第三方库的构造,例如boost或Qt。 编辑:如答案所示,我可以通过声明seahawk.flags为来避免编译器错误int。但是,我希望有一些机制来强制类型安全,所以有人不能写seahawk.flags = HasMaximizeButton。
187 c++  enums 


2
Java中枚举的命名:单数还是复数?
是否有关于如何命名Java枚举的“官方”建议? enum Protocol { HTTP, HTTPS, FTP } 要么 enum Protocols { HTTP, HTTPS, FTP } 我知道在.Net世界中,建议使用单数形式,但表示位标志的枚举除外。只是好奇Java是否有类似的东西。 似乎是.Net的一个相关问题:枚举是单数还是复数?

9
在C ++中声明枚举时,为什么要使用typedef?
多年以来我都没有写过任何C ++,现在我正尝试重新使用它。然后,我遇到了这个问题,并考虑放弃: typedef enum TokenType { blah1 = 0x00000000, blah2 = 0X01000000, blah3 = 0X02000000 } TokenType; 这是什么?为什么在typedef这里使用关键字?为什么名称TokenType在此声明中出现两次?语义与此有何不同: enum TokenType { blah1 = 0x00000000, blah2=0x01000000, blah3=0x02000000 };
183 c++  enums  typedef 

13
C#vs Java枚举(适用于C#新手)
我已经用Java编程了一段时间,只是被扔到一个完全用C#编写的项目中。我试图加快C#的速度,并注意到在我的新项目中的多个地方都使用了枚举,但是乍一看,C#的枚举似乎比Java 1.5+实现更简单。谁能列举C#和Java枚举之间的差异,以及如何克服这些差异?(我不想发动语言大战,我只是想知道如何用Java来做C#中的某些事情)。例如,有人可以在Sun著名的Planet枚举示例中发布C#副本吗? public enum Planet { MERCURY (3.303e+23, 2.4397e6), VENUS (4.869e+24, 6.0518e6), EARTH (5.976e+24, 6.37814e6), MARS (6.421e+23, 3.3972e6), JUPITER (1.9e+27, 7.1492e7), SATURN (5.688e+26, 6.0268e7), URANUS (8.686e+25, 2.5559e7), NEPTUNE (1.024e+26, 2.4746e7), PLUTO (1.27e+22, 1.137e6); private final double mass; // in kilograms private final double radius; // in meters Planet(double mass, double …

7
如何删除OR'd枚举的项目?
我有一个像这样的枚举: public enum Blah { RED = 2, BLUE = 4, GREEN = 8, YELLOW = 16 } Blah colors = Blah.RED | Blah.BLUE | Blah.YELLOW; 如何从可变颜色中删除蓝色?
180 c#  enums 

16
如何检查是否设置了标志组合的标志?
假设我有这个枚举: [Flags] enum Letters { A = 1, B = 2, C = 4, AB = A | B, All = A | B | C, } 要检查是否AB设置了例如我可以这样做: if((letter & Letters.AB) == Letters.AB) 有没有一种比以下方法更简单的方法来检查是否设置了组合标志常量的任何标志? if((letter & Letters.A) == Letters.A || (letter & Letters.B) == Letters.B) 例如,您可以将它换成&其他东西吗? 像这样的二进制东西不太稳定...
180 c#  enums  flags 

15
C#中的枚举应该有自己的文件吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 2年前关闭。 改善这个问题 我有一个使用枚举的类,该枚举当前在其自己的文件中,这似乎很浪费。 关于将枚举放置在使用它们的文件的名称空间中的一般看法是什么?还是应该将枚举真正存在于自己的CS文件中? 编辑 我应该提到的是,尽管所讨论的类使用了这些枚举,但是外部调用者也是如此。换句话说,另一个类可以设置这些枚举。因此,它们不会在班级内部使用,否则此问题将变得毫无道理。
178 c#  coding-style  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.