草庐IT

c# - 如何检查枚举是否包含数字?

我有一个这样的枚举:publicenumPromotionTypes{Unspecified=0,InternalEvent=1,ExternalEvent=2,GeneralMailing=3,VisitBased=4,PlayerIntroduction=5,Hospitality=6}我想检查这个枚举是否包含我提供的数字。例如:当我给4时,Enum包含它,所以我想返回True,如果我给7,这个Enum中没有7,所以它返回False。我试过Enum.IsDefine但它只检查字符串值。我怎样才能做到这一点? 最佳答案 IsDef

C# 枚举 : Nullable or 'Unknown' Value?

如果我有一个带有enum成员的类,并且我希望能够表示未定义该成员的情况,哪个更好?a)使用可空类型在类中将成员声明为可空。例如:publicSomeEnum?myEnum;b)向枚举添加默认的“未知”值。例如:publicenumSomeEnum{Unknown,SomeValueA,SomeValueB,SomeValueC,}我真的看不出任何主要的优点/缺点;但也许一个比另一个更可取? 最佳答案 一定要使用可空值类型——这就是它们的用途。它明确说明了您的意图。这也意味着您可以使用Enum.IsDefined(或者来自Uncons

C# 枚举 : Nullable or 'Unknown' Value?

如果我有一个带有enum成员的类,并且我希望能够表示未定义该成员的情况,哪个更好?a)使用可空类型在类中将成员声明为可空。例如:publicSomeEnum?myEnum;b)向枚举添加默认的“未知”值。例如:publicenumSomeEnum{Unknown,SomeValueA,SomeValueB,SomeValueC,}我真的看不出任何主要的优点/缺点;但也许一个比另一个更可取? 最佳答案 一定要使用可空值类型——这就是它们的用途。它明确说明了您的意图。这也意味着您可以使用Enum.IsDefined(或者来自Uncons

C# 如何将枚举与开关一起使用

我不知道如何将开关与枚举结合使用。你能告诉我我做错了什么,以及如何解决吗?我必须使用枚举来制作基本计算器。publicenumOperator{PLUS,MINUS,MULTIPLY,DIVIDE}publicdoubleCalculate(intleft,intright,Operatorop){inti=(int)op;switch(i){case0:{returnleft+right;}case1:{returnleft-right;}case2:{returnleft*right;}case3:{returnleft/right;}default:{return0.0;}}}最

C# 如何将枚举与开关一起使用

我不知道如何将开关与枚举结合使用。你能告诉我我做错了什么,以及如何解决吗?我必须使用枚举来制作基本计算器。publicenumOperator{PLUS,MINUS,MULTIPLY,DIVIDE}publicdoubleCalculate(intleft,intright,Operatorop){inti=(int)op;switch(i){case0:{returnleft+right;}case1:{returnleft-right;}case2:{returnleft*right;}case3:{returnleft/right;}default:{return0.0;}}}最

c# - 枚举的初始值

我有一个带有枚举属性的类枚举是//////Allavailabledeliveryactions///publicenumEnumDeliveryAction{//////Taskswithemaildeliveryactionwillbeemailed///Email,//////TaskswithSharePointdeliveryaction///SharePoint}当我创建这个类的实例时,在代码中NOWHERE,我是否指定了枚举字段的值,但它似乎默认为枚举列表中的第一项,而不是空值,这是如何枚举的工作?如果未设置枚举,如何确保枚举获得某种空值,我不希望它默认为枚举中的第一个值

c# - 枚举的初始值

我有一个带有枚举属性的类枚举是//////Allavailabledeliveryactions///publicenumEnumDeliveryAction{//////Taskswithemaildeliveryactionwillbeemailed///Email,//////TaskswithSharePointdeliveryaction///SharePoint}当我创建这个类的实例时,在代码中NOWHERE,我是否指定了枚举字段的值,但它似乎默认为枚举列表中的第一项,而不是空值,这是如何枚举的工作?如果未设置枚举,如何确保枚举获得某种空值,我不希望它默认为枚举中的第一个值

c# - 是否可以在枚举中保存类型(使用 "typeof()")?

所以我在XNA、C#4.0中创建一个游戏,我需要管理很多PowerUps(在代码中都是从类“PowerUp”继承的),并处理PowerUps的后端管理我当前有一个枚举PowerupEffectType,每个子类PowerUp都有一个值。最后,在代码中,我需要将PowerupEffectType转换为Powerup类型(属于Type类,通常使用typeof([classname])实现)。因为这是一个小组项目,我想尽可能地将PowerupEffectType的每个值与其对应的类Type结合起来,即:不只是期望我的其他程序员使用switch语句手动进行转换,并确保添加/expansions

c# - 是否可以在枚举中保存类型(使用 "typeof()")?

所以我在XNA、C#4.0中创建一个游戏,我需要管理很多PowerUps(在代码中都是从类“PowerUp”继承的),并处理PowerUps的后端管理我当前有一个枚举PowerupEffectType,每个子类PowerUp都有一个值。最后,在代码中,我需要将PowerupEffectType转换为Powerup类型(属于Type类,通常使用typeof([classname])实现)。因为这是一个小组项目,我想尽可能地将PowerupEffectType的每个值与其对应的类Type结合起来,即:不只是期望我的其他程序员使用switch语句手动进行转换,并确保添加/expansions

类中的 C# 公共(public)枚举

我有一个包含公共(public)枚举的类的程序,如下所示:publicclassCard{publicenumcard_suits{Clubs,Hearts,Spades,Diamonds}...我想在项目的其他地方使用它,但如果不使用Card.card_suit就做不到。有谁知道C#中是否有一种方法可以声明这一点,以便我能够声明card_suitssuit;没有引用它所在的类? 最佳答案 目前,您的enum嵌套在Card类中。您所要做的就是将enum的定义移出类://Abetternamewhichfollowsconventio