【发布时间】:2020-06-05 05:50:31
【问题描述】:
例如,这里是一个简单的枚举:
enum Something {
One = 1,
Two = 2,
Three = 3
}
但我想创建这段代码的相反,比如
SomeType Something {
1 = One,
2 = Two,
3 = Threee
}
也许我可以引入常量,比如
static class Something {
public const 1 = "One";
// ...
}
但我收到编译器错误(CS1031、CS1001、CS0145 和 CS1003),因为 c# 无法处理此问题。 我可以对枚举做同样的事情来防止这些不必要的错误,但在这里我也得到了 CS1001,因为 c# 不理解数字是标识符。 我也可以使用字符串,但这让它变得更加复杂,因为 c# 需要另一个标识符(但不接受一个 (CS0029))
那么,c# 中有什么东西可以用来将一些类似字符串的值作为常量或枚举分配给数字吗?
【问题讨论】:
-
你可以使用
Dictionary<int, string> -
或者像第一个例子一样使用它并将其简单地转换回来:
YourEnum foo = (YourEnum)yourInt; -
Int 键通常表示 index,查看数组。