I have a simple enum:
public enum MyEnum
{
[Description("Zero")]
Zero,
[Description("A positive number")]
Positive,
[Description("Any integer")]
AnyInteger,
[Description("A negative number")]
Negative,
[Description("Reserved number")]
Reserved =2
}
However, running the the following code:
MyEnum temp = MyEnum.AnyInteger;
string en = temp.ToString();
sets the en string to Reserved.
Why does it happens?
Is there is some other way to set the string to the used enum string (in this case AnyInteger)?
when defining an enum the first value start with
0and it going up from there unless you define other wise, so in your case it’s:you can define the same value twice (or more) in a enum. the
ToStringfind a name with the same value:if you insist that “Reserved” should have the value 2, put him in the right place of order. otherwise remove the
=2