c# - 如何在枚举中为相同的定义设置两个值,C#

标签 c# enums enumeration

我正在尝试比较从 Web 服务获得的值,但有时我得到的是 int 值,有时我得到的是字符串。所以如果我只能检查 Type.value1 就好了。

例如:

enum Type { value1 = 1 , value1="one"}

并喜欢这样以获得更多值(value)2,等等... 但是当然,我不能这样做,因为我不能为 value1 添加两个定义。

最佳答案

有时,一个主要表现得像枚举但有一些更丰富的行为的类型可能非常有用:

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");
}

关于c# - 如何在枚举中为相同的定义设置两个值,C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19762229/

相关文章:

c# - FFMpegCore C# 自定义参数

arrays - 创建一个具有枚举元素大小的数组

Python3 - 将枚举转换为不同的数据类型

c - 通过引用传递枚举...垃圾值返回到 main

c# - Entity Framework 核心: Unable to catch SqlException

c# - 根据另一个查询的结果过滤一个 linq 查询

c++ - 结构中的枚举

swift - 为什么使用 if 语句匹配枚举时出错

c# - 将 c++ dLL 的 char 指针数组传递给 c# 字符串

c# - LINQ 和枚举作为 IQueryable