如何在枚举中为同一定义设置两个值,C#

139*_*ser 1 c# enums enumeration

我试图比较我从Web服务获得的值,但有时我得到int值,有时我得到字符串.所以我只能检查Type.value1会很棒.

例如:

enum Type { value1 = 1 , value1="one"}
Run Code Online (Sandbox Code Playgroud)

并且喜欢更多的值2等...当然,我不能这样做因为我不能为value1添加两个定义.

And*_*nan 5

有时,一种行为类似于枚举但具有更丰富行为的类型可能非常有用:

public sealed class MyFakeEnum {

  private MyFakeEnum(int value, string description) {
    Value = value;
    Description = description;
  }

  public int Value { get; private set; }

  public string Description { get; private set; }

  // Probably add equality and GetHashCode implementations too.

  public readonly static MyFakeEnum Value1 = new MyFakeEnum(1, "value1");
  public readonly static MyFakeEnum Value2 = new MyFakeEnum(2, "value2");
}
Run Code Online (Sandbox Code Playgroud)