Questions tagged «enums»

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


10
EnumSet到底是什么意思?
我有以下示例: import java.util.EnumSet; import java.util.Iterator; public class SizeSet { public static void main(String[] args) { EnumSet largeSize = EnumSet.of(Size.XL,Size.XXL,Size.XXXL); for(Iterator it = largeSize.iterator();it.hasNext();){ Size size = (Size)it.next(); System.out.println(size); } } } enum Size { S, M, L, XL, XXL, XXXL; } 在这段代码中,我可以理解Enum创建了一个Enum类型的Sizes。 我的问题是:largeSizeEnumSet类型的对象吗?到底是什么意思 我真的很想更好地理解它。
69 java  object  enums  enumset 


9
通用枚举到int的C#非装箱转换?
给定通用参数TEnum始终为枚举类型,是否有任何方法可以将TEnum强制转换为int而无需装箱/拆箱? 请参阅此示例代码。这将不必要地装箱/拆箱该值。 private int Foo<TEnum>(TEnum value) where TEnum : struct // C# does not allow enum constraint { return (int) (ValueType) value; } 上面的C#是发布模式编译为以下IL(注意装箱和拆箱操作码): .method public hidebysig instance int32 Foo<valuetype .ctor ([mscorlib]System.ValueType) TEnum>(!!TEnum 'value') cil managed { .maxstack 8 IL_0000: ldarg.1 IL_0001: box !!TEnum IL_0006: unbox.any [mscorlib]System.Int32 IL_000b: ret } …
68 c#  .net  enums  boxing 

1
lambda表达式中的枚举的编译方式有所不同;过载分辨率改善的结果?
尝试使用Visual Studio 2015 RC时,我收到了先前工作代码的运行时错误。给定lambda (x => x.CustomerStatusID == CustomerStatuses.Active)作为传递给函数Expression<>,调试器将显示表达式树中的差异。以前它是这样编译的: .Lambda #Lambda1<System.Func`2[Services.DataClasses.CustomerDC,System.Boolean]>(Services.DataClasses.CustomerDC $x) { (System.Int32)$x.CustomerStatusID == 0 } 但是在C#6.0中,它现在编译为 .Lambda #Lambda1<System.Func`2[Services.DataClasses.CustomerDC,System.Boolean]>(Services.DataClasses.CustomerDC $x) { (System.Int32)$x.CustomerStatusID == (System.Int32).Constant<Services.DataClasses.CustomerStatuses>(Active) } 尽管对我的遍历树的代码的修复很简单,并且可以理解其他细节,但是有人知道像这样漂浮的其他陷阱吗? 或者,是否有人链接到有关如何改进重载分辨率的细节的信息?我找不到。
68 c#  lambda  enums  roslyn  c#-6.0 

6
C#枚举:可为空或“未知”值?
如果我有一个带有enum成员的类,并且希望能够代表未定义该成员的情况,那更好吗? a)使用可为空的类型在类中声明该成员为可为空。例如: public SomeEnum? myEnum; b)在枚举中添加默认的“未知”值。例如: public enum SomeEnum { Unknown, SomeValueA, SomeValueB, SomeValueC, } 无论哪种方式,我都看不到任何主要的利弊。但是也许一个比另一个更可取?
68 c#  enums 

3
枚举标志超过2 ^ 32
我在应用程序中使用Enum标志。枚举可以包含大约50个以上的值,因此值最多为2 ^ 50。我只是想知道,我可以Math.Pow(2, variable)用来计算这些吗? 当我尝试这样做时,我得到一个常量值编译时错误。除了手动计算这些2的幂并将其放入之外,还有其他方法吗? 这是我在做什么: [Flags] internal enum RiskStates : long { None = 0, AL = Convert.ToInt64(Math.Pow(2,0)), AK = 2, AZ = 4, AR = 8, CA = 16, CO = 32, CT = 64, DC = 128, DE = 256, FL = 512, GA = 1024, HI …
67 c#  enums  flags 

7
C ++枚举的使用是否比整数慢?
这确实是一个简单的问题: 我正在编写Go程序。我应该用aQVector<int>或a代表董事会QVector<Player>吗 enum Player { EMPTY = 0, BLACK = 1, WHITE = 2 }; 我想当然会发现,使用Player而不是整数会更慢。但是我想知道还有多少,因为我相信使用enum是更好的编码。 我已经完成了一些有关分配和比较Player的测试(相对于int) QVector<int> vec; vec.resize(10000000); int size = vec.size(); for(int i =0; i<size; ++i) { vec[i] = 0; } for(int i =0; i<size; ++i) { bool b = (vec[i] == 1); } QVector<Player> vec2; vec2.resize(10000000); …

8
C ++中的枚举类型数据的大小是多少?
这是一个C ++面试测试问题而不是作业。 #include <iostream> using namespace std; enum months_t { january, february, march, april, may, june, july, august, september, october, november, december} y2k; int main () { cout << "sizeof months_t is " << sizeof(months_t) << endl; cout << "sizeof y2k is " << sizeof(y2k) << endl; enum months_t1 { …
67 c++  enums  sizeof 

2
如果MySQL ENUM值的名称中有空格,如何定义Python Enum属性?
我有这样的Python Enum类: from enum import Enum class Seniority(Enum): Intern = "Intern" Junior_Engineer = "Junior Engineer" Medior_Engineer = "Medior Engineer" Senior_Engineer = "Senior Engineer" 在MYSQL数据库中,资历ENUM列的值为“实习生”,“初级工程师”,“中级工程师”,“高级工程师”。 问题是我得到一个错误: LookupError: "Junior Engineer" is not among the defined enum values 当我像这样调用查询时,发生了此错误: UserProperty.query.filter_by(full_name='John Doe').first() seniority是UserProperty模型中的枚举属性。 class UserProperty(db.Model): ... seniority = db.Column(db.Enum(Seniority), nullable=True) ... 对于这个类,我用定义的架构类marshmallow Schema和EnumField从marshmallow_enum包: class …

2
为什么EnumMap不是Java中的SortedMap?
EnumMap<K extends Enum<K>, V> Java中的Java显然是按相关枚举的定义排序的,正如您在Javadoc中也可以看到的那样: 枚举映射按其键的自然顺序(声明枚举常量的顺序)进行维护。这反映在集合视图返回的迭代器中(keySet(),entrySet(),和values())。 我需要的是SortedMap使用枚举作为键类型。我想使用诸如headMap()或的方法firstKey(),但是我想从的cpu +内存性能中受益EnumMap s的。一个TreeMap听起来像是太多的开销在这里。 问题:这只是在实现中遗漏了吗?AbstractMap是懒惰(源自)还是有充分的理由为什么EnumMap不是SortedMap?
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.