我有一个枚举,其中有不同的颜色。我想向某个函数传递int并让它返回该位置枚举中的颜色名称。有什么方法可以做到这一点? 最佳答案 return((MyEnumClass)n).ToString(); 关于c#-当值已知时获取枚举名称,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3327883/
enumMyEnum{Invalid=0,Value1=1,Value1=2,}voidmain(){MyEnume1=MyEnum.Value1;inti1=2;//IsthereanydifferencehowtocompareenumErationvalueswithintegers?if(e1==(MyEnum)i1)...//1stif((int)e1==i1)...//2nd在上述每种情况下,我们都将枚举转换为int或将int转换为枚举。这些转化(性能,任何其他)有什么不同吗?或者它们完全一样?谢谢。附言在当前示例中,我将其与“魔数(MagicNumber)”进行比较,但在
enumMyEnum{Invalid=0,Value1=1,Value1=2,}voidmain(){MyEnume1=MyEnum.Value1;inti1=2;//IsthereanydifferencehowtocompareenumErationvalueswithintegers?if(e1==(MyEnum)i1)...//1stif((int)e1==i1)...//2nd在上述每种情况下,我们都将枚举转换为int或将int转换为枚举。这些转化(性能,任何其他)有什么不同吗?或者它们完全一样?谢谢。附言在当前示例中,我将其与“魔数(MagicNumber)”进行比较,但在
假设我们有一个枚举:enumFoo{A=1,B=2,C=3}如果类型在编译时已知,则可以使用直接转换在枚举类型和基础类型(通常是int)之间进行更改:staticintGetValue(){return2;}...Foofoo=(Foo)GetValue();//becomesFoo.B装箱后得到一个Foo类型的框:objecto1=foo;Console.WriteLine(o1.GetType().Name);//writesFoo(实际上,您可以装箱为Foo并拆箱为int,或者装箱为int并拆箱为Foo很高兴)但是(问题);如果枚举类型只在运行时才知道,事情就……更棘手了。将它装
假设我们有一个枚举:enumFoo{A=1,B=2,C=3}如果类型在编译时已知,则可以使用直接转换在枚举类型和基础类型(通常是int)之间进行更改:staticintGetValue(){return2;}...Foofoo=(Foo)GetValue();//becomesFoo.B装箱后得到一个Foo类型的框:objecto1=foo;Console.WriteLine(o1.GetType().Name);//writesFoo(实际上,您可以装箱为Foo并拆箱为int,或者装箱为int并拆箱为Foo很高兴)但是(问题);如果枚举类型只在运行时才知道,事情就……更棘手了。将它装
为什么这个.NET枚举允许在最后一个字段中有一个逗号?这有什么特殊意义吗?[FlagsAttribute]publicenumDependencyPropertyOptions:byte{Default=1,ReadOnly=2,Optional=4,DelegateProperty=32,Metadata=8,NonSerialized=16,} 最佳答案 没有什么特别的意思,就是编译器的工作方式,主要是这个原因:[FlagsAttribute]publicenumDependencyPropertyOptions:byte{De
为什么这个.NET枚举允许在最后一个字段中有一个逗号?这有什么特殊意义吗?[FlagsAttribute]publicenumDependencyPropertyOptions:byte{Default=1,ReadOnly=2,Optional=4,DelegateProperty=32,Metadata=8,NonSerialized=16,} 最佳答案 没有什么特别的意思,就是编译器的工作方式,主要是这个原因:[FlagsAttribute]publicenumDependencyPropertyOptions:byte{De
我试图模糊edi文件上的索引位置...我遇到过这样一种情况,根据情况,索引中可能有2或3个东西。使用枚举来隐藏“魔数(MagicNumber)”会很酷,并且惊讶地发现您可以像这样将多个枚举分配给相同的值:publicenumColor{Red=1,Blue=1,Green=1}编译器对此很满意。我没想到这会奏效。我不需要转换回枚举,所以我不担心尝试返回,但这闻起来很时髦。为什么CLR允许枚举有多个值,我应该为此使用结构吗?(结构似乎比枚举更重,这似乎有效) 最佳答案 实际上您已经定义了一个结构...在幕后,枚举只是一个结构(但它派生
我试图模糊edi文件上的索引位置...我遇到过这样一种情况,根据情况,索引中可能有2或3个东西。使用枚举来隐藏“魔数(MagicNumber)”会很酷,并且惊讶地发现您可以像这样将多个枚举分配给相同的值:publicenumColor{Red=1,Blue=1,Green=1}编译器对此很满意。我没想到这会奏效。我不需要转换回枚举,所以我不担心尝试返回,但这闻起来很时髦。为什么CLR允许枚举有多个值,我应该为此使用结构吗?(结构似乎比枚举更重,这似乎有效) 最佳答案 实际上您已经定义了一个结构...在幕后,枚举只是一个结构(但它派生
我有几个不同的应用程序,我想在其中共享一个C#枚举。我不太清楚如何在常规应用程序和WCF服务之间共享枚举声明。情况是这样的。我有2个轻量级C#destop应用程序和一个WCFweb服务,它们都需要共享枚举值。客户1有Method1(MyEnume,stringsUserId);客户2有Method2(MyEnume,stringsUserId);网络服务有ServiceMethod1(MyEnume,stringsUserId,stringsSomeData);虽然我最初是创建一个名为Common.dll的库来封装枚举,然后在需要枚举的所有项目中引用该库。但是,WCF使事情变得困难,因