我在寻找这个问题的答案时偶然发现了这个话题.
从本质上讲,我所要求的是与该线程中所做的相反.而不是通过它的名字得到枚举的价值,我想通过它的价值得到它的名字.这是怎么做到的?
你这样做的原因完全相同,但埃里克指出,它并不完美:
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)
归档时间: |
|
查看次数: |
175 次 |
最近记录: |