Tag: 枚举

如何在MySQL中的ENUMtypes列中添加更多成员?

MySQL参考手册没有提供一个清楚的例子来说明如何做到这一点。 我有一个ENUMtypes的国家名称列,我需要添加更多的国家。 什么是正确的MySQL语法来实现呢? 这是我的尝试: ALTER TABLE carmake CHANGE country country ENUM('Sweden','Malaysia'); 我得到的错误是: ERROR 1265 (01000): Data truncated for column 'country' at row 1. country列是上述声明中的ENUMtypes列。 SHOW CREATE TABLE OUTPUT: mysql> SHOW CREATE TABLE carmake; +———+———————————————————————+ | Table | Create Table +———+———————————————————————+ | carmake | CREATE TABLE `carmake` ( `carmake_id` tinyint(4) NOT NULL AUTO_INCREMENT, `name` tinytext, `country` […]

在Flags枚举中迭代值?

如果我有一个variables持有一个标志枚举,我可以以某种方式遍历该特定variables中的位值? 或者我必须使用Enum.GetValues迭代整个枚举,并检查哪些设置?

为什么标志枚举通常用hex数值定义

很多时候,我看到使用hex值的标志枚举声明。 例如: [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 } 为什么有些人select用hex而不是十进制来编写数值,是否有理由或理由? 我看到它的方式,使用hex值时会更容易混淆,并且不小心写入Flag5 = 0x16而不是Flag5 […]

在Enum中search一个string并返回Enum

我有一个枚举: public enum MyColours { Red, Green, Blue, Yellow, Fuchsia, Aqua, Orange } 我有一个string: string colour = "Red"; 我想能够返回: MyColours.Red 从: public MyColours GetColour(string colour) 到目前为止,我有: public MyColours GetColours(string colour) { string[] colours = Enum.GetNames(typeof(MyColours)); int[] values = Enum.GetValues(typeof(MyColours)); int i; for(int i = 0; i < colours.Length; i++) { if(colour.Equals(colours[i], StringComparison.Ordinal) break; } int […]

我如何得到一个Swift枚举的数量?

我怎样才能确定在一个Swift枚举的情况下的数量? (我想避免手动枚举所有的值 ,或使用旧的“ enum_count技巧 ”,如果可能的话)。

在一个类中声明一个枚举

在下面的代码片段中, Color枚举是在Car类中声明的,以限制枚举的范围,并尽量不“污染”全局名称空间。 class Car { public: enum Color { RED, BLUE, WHITE }; void SetColor( Car::Color color ) { _color = color; } Car::Color GetColor() const { return _color; } private: Car::Color _color; }; (1)这是限制Color枚举范围的好方法吗? 或者,我应该声明它在Car类之外,但可能在它自己的命名空间或结构? 我今天刚刚遇到这篇文章,主张后者,并讨论关于枚举的一些好的观点: http : //gamesfromwithin.com/stupid-c-tr​​icks-2-better-enums 。 (2)在这个例子中,当在类中工作时,最好将枚举编码为Car::Color ,还是只需要Color就足够了? (我认为前者更好,以防万一在全局命名空间中声明另一个Color枚举。那么,至less我们明确指出了我们所指的枚举。)

我们可以在c#中定义枚举的隐式转换吗?

是否有可能定义隐式转换的枚举在C#? 有什么可以做到这一点? public enum MyEnum { one = 1, two = 2 } MyEnum number = MyEnum.one; long i = number; 如果没有,为什么不呢? 有关这方面的进一步讨论和想法,我跟随我如何处理这个: 改进C#枚举

将Enum转换为String

在.NET 3.5中将Enum转换为string的首选方法是什么? Enum.GetName Enum.Format 的toString 为什么我应该比其他人更喜欢其中之一? 一个performance更好吗?

Python中枚举的常用做法是什么?

可能重复: 我怎样才能在Python中表示一个“枚举”? Python中枚举的常用做法是什么? 即他们如何在Python中复制? public enum Materials { Shaded, Shiny, Transparent, Matte }

为什么Java枚举文字不能有genericstypes参数?

Java枚举是伟大的。 generics也是如此。 当然,我们都知道后者由于types擦除的局限性。 但有一件事我不明白,为什么我不能创build一个像这样的枚举: public enum MyEnum<T> { LITERAL1<String>, LITERAL2<Integer>, LITERAL3<Object>; } 这个genericstypes参数<T>反过来可以在各个地方有用。 设想一个方法的genericstypes参数: public <T> T getValue(MyEnum<T> param); 甚至在枚举类本身: public T convert(Object o); 更具体的例子#1 由于上面的例子对于某些人来说似乎太抽象了,下面是为什么我想要这样做的一个更现实的例子。 在这个例子中,我想使用 枚举,因为那么我可以列举一组有限的属性键 generics,因为那样我可以有方法级别的types安全性来存储属性 public interface MyProperties { public <T> void put(MyEnum<T> key, T value); public <T> T get(MyEnum<T> key); } 更具体的例子#2 我有一个数据types的枚举: public interface DataType<T> {} public enum SQLDataType<T> […]