如何在C#中将枚举值检索为字符串

Squ*_*azz 3 c# enums examine

我有以下枚举:

public enum DocumentState
{
    Default = 0,
    Draft = 1,
    Archived = 2,
    Deleted = 3
}
Run Code Online (Sandbox Code Playgroud)

我的解决方案中的大多数地方都将它用作普通的枚举.我在int中使用的一些地方像这样:

(int)DocumentState.Default)
Run Code Online (Sandbox Code Playgroud)

但是,有些地方,例如当我使用Examine(只接受字符串,而不是整数作为输入)时,我需要传递en int int值,就像它是一个字符串一样.这可以通过以下方式完成:

((int)DocumentState.Default).ToString()
Run Code Online (Sandbox Code Playgroud)

我现在的问题是; 是否真的没有其他方法可以将字符串值作为字符串检索?

我知道我可能会滥用Enum,但有时这是给定情况下的最佳方法.

Mar*_*per 9

使用DocumentState.Default.ToString("d").请参阅https://msdn.microsoft.com/en-us/library/a0h36syw(v=vs.110).aspx

  • 你是唯一一个回答OP实际问题的人.话虽如此,我不确定`val.ToString("d")`是否优于`((int)val).ToString()`. (3认同)
  • 嗯,C风格的演员总是让人感到畏缩...... (3认同)