列挙型の値をそのまま文字列として取得する方法 - .NET

列挙型を実装するとき、列挙型に定義した値をそのまま文字列として取得したい場合があります。 例えば、Grade なる列挙型を次のように実装するとき、 3つの値 High, Mid, Low のそれぞれを文字列として取得します。

public enum Grade : int
{
    High = 0,
    Mid = 1,
    Low = 2,
}

列挙型の値の文字列を取得するには Enum.GetName を利用します。 Grade 列挙型のある変数 grade の文字列を取得するには次のようにします。 得られる文字列は、"High" です。

Grade grade = Grade.High;
string gradeName = Enum.GetName(typeof(Grade), grade);

typeof(Grade)grade.GetType() でも良いです。