草庐IT

swift - OptionSetType 和枚举

全部标签

c# - Keys 枚举中 -(减号/下划线)和 =(等于/加号)键的枚举是什么?

我好像找不到它们here.我正在尝试将它们包含在我的热键选择对话框中。 最佳答案 从您提供的链接中结帐Oem*:OemMinusTheOEMminuskeyonanycountry/regionkeyboard(Windows2000orlater).OemplusTheOEMpluskeyonanycountry/regionkeyboard(Windows2000orlater).你可以有这样的东西:if(keyData==(Keys.Control|Keys.OemMinus))ZoomOutOrSomething();//

c# - 获取任何枚举值的扩展方法

我一直在尝试创建一个扩展方法,该方法适用于任何枚举,以返回其值。而不是这样做:Enum.GetValues(typeof(BiasCode)).Cast()这样做会很好:newBiasCode().Values()如果没有new会更好,但那是另一个问题。我有一个.NETfiddle有一个接近的解决方案(代码如下所示)。此代码的问题在于扩展方法返回List.我想让它返回枚举值本身的列表。返回List并不可怕;这只是意味着我必须转换结果。这有可能吗?我尝试使扩展方法通用,但遇到了问题。这是我所能得到的最接近的结果:usingSystem;usingSystem.Linq;usingSyst

c# - 作为枚举的键值对

我可以有一个枚举作为键值对吗?publicenuminfringementCategory{Infringement,OFN}如果我选择Infringement,我应该得到“INF0001”,如果我选择OFN,我应该得到“INF0002”这可能吗? 最佳答案 您可以使用装饰器将字符串表示与您的枚举值相关联。检查这个问题:EnumToStringwithuserfriendlystrings它看起来像:publicenuminfringementCategory{[Description("INF0001")]Infringement

c# - 字典枚举顺序

文档说Dictionary键顺序未指定。我想这意味着第一个添加的元素在枚举期间可能不是第一个。但是Dictionary是否保证我每次枚举它时的顺序都相同? 最佳答案 是的,目前它确实以相同的顺序返回项目(假设您在此期间没有触发哈希表的大小调整)。不,你不应该依赖它。一般来说,除非明确保证顺序保持不变,否则您不能假设任何。这样的保证肯定是isnotgiven:Theorderinwhichtheitemsarereturnedisundefined.如果您出于学术目的对详细信息感兴趣,请参阅this优秀的博文。

c# - 检查枚举标志的最佳实践

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我注意到这两种用于检查枚举标志的模式:[Flags]publicenumPurchaseType{None=0,SalePrice=2,RegularPrice=4,Clearance=8,CreditCard=16}publicvoidTest(){PurchaseTypetype=PurchaseType.Clearance;type|=Purcha

c# - 更改枚举显示

我怎么能有一个c#枚举,如果我选择字符串,它会返回一个不同的字符串,就像在java中一样,它可以通过以下方式完成publicenumsample{some,other,things;publicstringtoString(){switch(this){casesome:return"youchoosesome";default:break;}}}Console.writeln(sample.some)将输出:youchoosesome我只是希望我的枚举在我尝试调用它们时返回不同的字符串。 最佳答案 据我所知这是不可能的。但是,您可

c# - 如何将 Intellisense 描述添加到枚举成员 c#

我有这个枚举://////Accountypesenumeration///publicenumAcoountTypeTransaction{[Description("Accounttypedebit")]Debit=0,[Description("AccounttypeCredit")]Credit=1}我想在我的智能感知上显示描述,这只是一个示例,我有许多必须解释的枚举。有一种方法可以做到这一点 最佳答案 使用XMLdocumentcomments与您对枚举声明本身的方式相同。//////Accounttypesenumera

c# - 将枚举添加到组合框

您好,我可以知道如何获取下面的枚举值以绑定(bind)到组合框吗?我写了下面的代码,效果很好,但想知道这是不是最好的方法。publicenumCourseStudentStatus{Active=1,Completed=2,TempStopped=3,Stopped=4,}//BindCourseStatusDictionarylist=newDictionary();foreach(intenumValueinEnum.GetValues(typeof(CourseStudentStatus)))list.Add(Enum.GetName(typeof(CourseStudentSt

c# - 为什么只有整数枚举?

我写C#已经七年了,我一直在想,为什么枚举必须是整数类型?做这样的事情不是很好吗:enumErrorMessage{NotFound:"Couldnotfind",BadRequest:"Malformedrequest"}这是语言设计的选择,还是在编译器、CLR或IL级别存在根本的不兼容性?其他语言是否有字符串或复杂(即对象)类型的枚举?什么语言?(我知道解决方法;我的问题是,为什么需要它们?)编辑:“变通办法”=属性或带有常量的静态类:) 最佳答案 枚举的目的是为整数提供更有意义的值。您正在寻找枚举之外的其他东西。枚举与旧的Wi

c# - 无限期地重复可枚举

是否有无限重复可枚举的可枚举扩展方法?例如,给定一个返回的枚举:["a","b","c"]。我想要一个返回无限重复序列的方法["a","b","c","a","b","c","a","b","c"...]这听起来有点像Observable.Repeat,除了我想对IEnumerables进行操作。Enumerable.Repeat仅从单个元素生成枚举。 最佳答案 我不知道LINQ中内置了什么,但是真的可以很容易地创建自己的东西:publicstaticIEnumerableRepeatIndefinitely(thisIEnumer