我有一个枚举,例如“Gender”(Male=0,Female=1),我有另一个来自服务的枚举,它有自己的Gender枚举(男性=0,女性=1,未知=2)我的问题是我怎样才能写出一些快速而漂亮的东西来从他们的枚举转换成我的枚举? 最佳答案 给定Enum1value=...,然后如果您按名称表示:Enum2value2=(Enum2)Enum.Parse(typeof(Enum2),value.ToString());如果你的意思是数值,你通常可以直接转换:Enum2value2=(Enum2)value;(通过强制转换,您可能希望使
我有一个枚举,例如“Gender”(Male=0,Female=1),我有另一个来自服务的枚举,它有自己的Gender枚举(男性=0,女性=1,未知=2)我的问题是我怎样才能写出一些快速而漂亮的东西来从他们的枚举转换成我的枚举? 最佳答案 给定Enum1value=...,然后如果您按名称表示:Enum2value2=(Enum2)Enum.Parse(typeof(Enum2),value.ToString());如果你的意思是数值,你通常可以直接转换:Enum2value2=(Enum2)value;(通过强制转换,您可能希望使
如果我有这样的枚举:enumBeer{Bud=10,Stella=20,Unknown}为什么在将这些值之外的int转换为Beer类型时不抛出异常?例如下面的代码没有抛出异常,它向控制台输出'50':inti=50;varb=(Beer)i;Console.WriteLine(b.ToString());我觉得这很奇怪……谁能解释一下? 最佳答案 取自ConfusionwithparsinganEnum这是创建.NET的人的决定。枚举由另一种值类型(int、short、byte等)支持,因此它实际上可以具有任何有效值对于那些值类型。
如果我有这样的枚举:enumBeer{Bud=10,Stella=20,Unknown}为什么在将这些值之外的int转换为Beer类型时不抛出异常?例如下面的代码没有抛出异常,它向控制台输出'50':inti=50;varb=(Beer)i;Console.WriteLine(b.ToString());我觉得这很奇怪……谁能解释一下? 最佳答案 取自ConfusionwithparsinganEnum这是创建.NET的人的决定。枚举由另一种值类型(int、short、byte等)支持,因此它实际上可以具有任何有效值对于那些值类型。
假设我有以下简单枚举:enumResponse{Yes=1,No=2,Maybe=3}如何将此枚举绑定(bind)到DropDownList控件,以便在列表中显示说明并在选择选项后检索关联的数值(1,2,3)? 最佳答案 我可能不会绑定(bind)数据,因为它是一个枚举,并且在编译时间后它不会改变(除非我有那些愚蠢时刻之一).最好只是遍历枚举:DimitemValuesAsArray=System.Enum.GetValues(GetType(Response))DimitemNamesAsArray=System.Enum.Get
假设我有以下简单枚举:enumResponse{Yes=1,No=2,Maybe=3}如何将此枚举绑定(bind)到DropDownList控件,以便在列表中显示说明并在选择选项后检索关联的数值(1,2,3)? 最佳答案 我可能不会绑定(bind)数据,因为它是一个枚举,并且在编译时间后它不会改变(除非我有那些愚蠢时刻之一).最好只是遍历枚举:DimitemValuesAsArray=System.Enum.GetValues(GetType(Response))DimitemNamesAsArray=System.Enum.Get
如果我有一个包含标志枚举的变量,我能否以某种方式迭代该特定变量中的单位值?或者我是否必须使用Enum.GetValues遍历整个枚举并检查设置了哪些枚举? 最佳答案 staticIEnumerableGetFlags(Enuminput){foreach(EnumvalueinEnum.GetValues(input.GetType()))if(input.HasFlag(value))yieldreturnvalue;} 关于c#-如何迭代具有标志的枚举值?,我们在StackOverf
如果我有一个包含标志枚举的变量,我能否以某种方式迭代该特定变量中的单位值?或者我是否必须使用Enum.GetValues遍历整个枚举并检查设置了哪些枚举? 最佳答案 staticIEnumerableGetFlags(Enuminput){foreach(EnumvalueinEnum.GetValues(input.GetType()))if(input.HasFlag(value))yieldreturnvalue;} 关于c#-如何迭代具有标志的枚举值?,我们在StackOverf
我有一个枚举:publicenumMyColours{Red,Green,Blue,Yellow,Fuchsia,Aqua,Orange}我有一个字符串:stringcolour="Red";我希望能够返回:MyColours.Red来自:publicMyColoursGetColour(stringcolour)到目前为止我有:publicMyColoursGetColours(stringcolour){string[]colours=Enum.GetNames(typeof(MyColours));int[]values=Enum.GetValues(typeof(MyColou
我有一个枚举:publicenumMyColours{Red,Green,Blue,Yellow,Fuchsia,Aqua,Orange}我有一个字符串:stringcolour="Red";我希望能够返回:MyColours.Red来自:publicMyColoursGetColour(stringcolour)到目前为止我有:publicMyColoursGetColours(stringcolour){string[]colours=Enum.GetNames(typeof(MyColours));int[]values=Enum.GetValues(typeof(MyColou