Questions tagged «enums»

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



8
在C ++中将int强制转换为枚举的通用方法
有没有投一个通用的方法int,以enum在C++? 如果int落在的范围内,enum则应返回一个enum值,否则抛出exception。有没有办法通用地编写它?不止一个enum type应予以支持。 背景:我有一个外部枚举类型,无法控制源代码。我想将此值存储在数据库中并检索它。
81 c++  casting  enums 


10
使用Java泛型迭代枚举值
我试图找到一种在使用泛型时遍历枚举值的方法。不确定如何执行此操作或不确定是否可行。 下面的代码说明了我想做什么。请注意,代码T.values()在以下代码中无效。 public class Filter<T> { private List<T> availableOptions = new ArrayList<T>(); private T selectedOption; public Filter(T selectedOption) { this.selectedOption = selectedOption; for (T option : T.values()) { // INVALID CODE availableOptions.add(option); } } } 这是实例化Filter对象的方法: Filter<TimePeriod> filter = new Filter<TimePeriod>(TimePeriod.ALL); 枚举定义如下: public enum TimePeriod { ALL("All"), FUTURE("Future"), NEXT7DAYS("Next 7 …

9
用Java中的所有枚举值填充列表
我想用一个枚举的所有可能值来填充列表 自从我最近爱上了EnumSet,我就利用了allOf() EnumSet<Something> all = EnumSet.allOf( Something.class); List<Something> list = new ArrayList<>( all.size()); for (Something s : all) { list.add( s); } return list; 是否有更好的方法(如在未混淆的衬管中)达到相同的结果?
80 java  list  enums 

12
基本枚举类继承
有没有一种模式可以让我从C ++中的另一个枚举继承? 像这样: enum eBase { one=1, two, three }; enum eDerived: public eBase { four=4, five, six };
79 c++  enums 

4
如何检查枚举是否包含数字?
我有一个这样的枚举: public enum PromotionTypes { Unspecified = 0, InternalEvent = 1, ExternalEvent = 2, GeneralMailing = 3, VisitBased = 4, PlayerIntroduction = 5, Hospitality = 6 } 我想检查此枚举是否包含我提供的数字。例如:当我给出4时,Enum包含该值,因此我想返回True,如果我给出7,则此Enum中没有7,因此它返回False。我尝试了Enum.IsDefine,但它仅检查String值。我怎样才能做到这一点?
79 c#  .net  enums 

8
在ASP.NET MVC Core中将枚举用作下拉列表
我试图在Razor视图中使用标记帮助器在ASP.NET MVC Core中创建一个带有枚举属性的下拉列表: 这是模型: public class PersonalMember : Member { [Required, Display(Name = "First Name")] public string FirstName { get; set; } [Required, Display(Name = "Last Name")] public string LastName { get; set; } [EnumDataType(typeof(Gender))] public Gender GenderType { get; set; } } public enum Gender { Male = 1, …

3
Android为什么不使用更多枚举?
由于某些原因,我开始非常喜欢在代码中使用C#和Java枚举: 它们比整数,字符串或布尔标志集更具类型安全性。 它们导致更具可读性的代码。 将枚举设置为无效值比使用int或字符串更困难。 它们使发现变量或参数的允许值变得容易。 我读过的所有内容都表明它们在C#和大多数JVM中的表现与整数一样好。 但是,Android框架有很多情况需要传递各种类型的标志,但是似乎没有一个使用枚举。在那里我会认为他们的使用将是有益的一对夫妇的例子是Toast.LENGTH_SHORT/Toast.LENGTH_LONG和View.GONE,View.VISIBLE等等。 为什么是这样?枚举在Dalvik中的表现是否比简单整数差?还有其他我不知道的缺点吗?
79 android  enums 

5
Swift常数:Struct或Enum
我不确定两者中哪个最好定义常量。结构或枚举。每次我使用与否,都会复制一个结构吗?当我想到带有static let常量的结构时,我认为它会一直复制是没有意义的。但是,如果它不会被复制,那我拿走什么都没关系? 选择结构或枚举有什么优势? 弗朗西斯科说使用Struct的。 雷·温德利希说要用枚举。但是我缺乏理由。

5
向枚举添加函数
是否可以在TypeScript中向Enum类型添加函数? 例如: enum Mode { landscape, portrait, // the dream... toString() { console.log(this); } } 要么: class ModeExtension { public toString = () => console.log(this); } enum Mode extends ModeExtension { landscape, portrait, } 当然,该toString()函数将包含类似的内容,switch但用例将遵循以下原则: class Device { constructor(public mode:Mode) { console.log(this.mode.toString()); } } 我知道为什么扩展一个范围enum可能是一件奇怪的事情,只是想知道是否有可能。
78 enums  typescript 

4
在Objective-C中声明和检查/比较(位掩码)枚举
您知道可可里有这个东西,例如您可以创建一个 UIView并执行: view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 我有一个UIView具有多个状态的自定义,enum这样的: enum DownloadViewStatus { FileNotDownloaded, FileDownloading, FileDownloaded }; 对于每个创建的子视图,我设置其tag:subview1.tag = FileNotDownloaded; 然后,我为视图状态创建了一个自定义设置器,它可以执行以下操作: for (UIView *subview in self.subviews) { if (subview.tag == viewStatus) subview.hidden = NO; else subview.hidden = YES; } 但是我想做的是允许这样做: subview1.tag = FileNotDownloaded | FileDownloaded; 所以我subview1以两种状态出现。目前,它在这两个州中均未显示|操作员似乎将两个枚举值相加。 有没有办法做到这一点?

8
当位掩码(标志)枚举太大时该怎么办
我的应用程序中有很多权限,这些权限由Flags枚举表示。它正在迅速接近长数据类型的实际上限。而且我被迫提出一项战略,以尽快过渡到其他结构。现在,我可以将此列表分解为较小的部分,但是,根据我们的应用程序布局,这已经只是我们应用程序总体权限的一部分。在管理权限时,我们广泛地将此区别用于显示目的,如果可以避免的话,我此时不必重新访问该代码。 还有其他人遇到这个问题吗?你是怎么过去的?常规示例很好,但是如果我可以采用任何特定于语言的技巧来完成工作,则我对ac#特定示例最感兴趣。 可能不是必需的,但这是当前为我正在处理的应用程序部分定义的权限列表。 //Subgroup WebAgent [Flags] public enum WebAgentPermission : long { [DescriptionAttribute("View Rule Group")] ViewRuleGroup = 1, [DescriptionAttribute("Add Rule Group")] AddRuleGroup = 2, [DescriptionAttribute("Edit Rule Group")] EditRuleGroup = 4, [DescriptionAttribute("Delete Rule Group")] DeleteRuleGroup = 8, [DescriptionAttribute("View Rule")] ViewRule = 16, [DescriptionAttribute("Add Rule")] AddRule = 32, [DescriptionAttribute("Edit Rule")] EditRule = …


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.