从Value获取Enum名称?

Jer*_*oen 1 enums d

我在寻找这个问题的答案时偶然发现了这个话题.

从本质上讲,我所要求的是与该线程中所做的相反.而不是通过它的名字得到枚举的价值,我想通过它的价值得到它的名字.这是怎么做到的?

he_*_*eat 5

你这样做的原因完全相同,但埃里克指出,它并不完美:

import std.conv;
import std.stdio;

enum LogLevel { ALL, INFO, WARNING }
enum Color {white, gray = 1, grey =1, black}

void main()
{
     enum l = to!LogLevel(1);
     assert(l == LogLevel.INFO);
     writeln(to!string(l));

     enum c = to!Color(1);
     writeln(to!string(c));
}
Run Code Online (Sandbox Code Playgroud)
INFO
gray
Run Code Online (Sandbox Code Playgroud)