我有一个叫Questions(复数)的类.在这个类中有一个名为Question(单数)的枚举,看起来像这样.
public enum Question
{
Role = 2,
ProjectFunding = 3,
TotalEmployee = 4,
NumberOfServers = 5,
TopBusinessConcern = 6
}
Run Code Online (Sandbox Code Playgroud)
在Questions类中,我有一个get(int foo)函数返回一个Questions对象foo.有没有一种简单的方法从枚举中获取整数值,所以我可以做类似的事情Questions.Get(Question.Role)?
对于这个枚举,
Enum MyEnum
Value
End Enum
Run Code Online (Sandbox Code Playgroud)
有两种方法来获取名字表示Value的MyEnum.Value:
[Enum].GetName(GetType(MyEnum), MyEnum.Value) ' aka Enum.GetName
Run Code Online (Sandbox Code Playgroud)
和
Dim a As MyEnum = MyEnum.Value
a.ToString ' aka Enum.ToString
Run Code Online (Sandbox Code Playgroud)
它们的优缺点是什么?毕竟哪个更好?
PS: Java有一个答案,但这是 .NET,它可能具有不同的功能。
从应用程序中的另一个层,我可以获取枚举类型的名称和整数值.如何使用此数据来获取该枚举的该值的字符串表示形式.
例如,如果我有一个枚举:
public enum Cheese
{
Edam = 1,
Cheddar = 3,
Brie = 201,
RedLeicester = 1001
}
Run Code Online (Sandbox Code Playgroud)
我可用的数据是
string dataType = "Cheese";
int dataValue = 3;
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到结果:
"Cheddar"
Run Code Online (Sandbox Code Playgroud) 我知道我可以有一个这样的枚举:
enum TShirtSize {
Small = 3,
Medium = 5,
Large = 8
}
var mySize = TShirtSize.Large;
Run Code Online (Sandbox Code Playgroud)
但是有什么方法可以指定文本字符串而不是数字 3,5 和 8 吗?