2015-03-16 1 views

ответ

1

Просто бросить его в строку:

writefln("%s", cast(string) TemperatureUnit.F); 

Обратите внимание, что этот бросок не требуется при назначении его в строку:

string s = TemperatureUnit.F; // just works 

Он приходит в игру только здесь, потому что std.stdio.write*, а также std.conv.to, посмотрите на точный тип, переданный ему, и попробуйте специализироваться на нем. Когда это enum Color { red, green, blue }, распечатать имя полезно. Но это поведение менее полезно, когда значение также является печатаемой строкой. Кастинг сообщает функции, которую вы хотите, чтобы она обрабатывалась как простая строка, а не перечисление.

Смежные вопросы