我知道如何将枚举类型转换为整数。

type
  TMyType = (mtFirst, mtSecond, mtThird);

var
  ordValue:integer;
  enumValue:TMyType;
...
ordValue:= Ord(mtSecond); // result is 1

但是,如何进行逆运算并将整数转换为枚举类型?

最佳答案

正如Ken回答的那样,您只需投放。但是要确保您具有正确的值,可以使用如下代码:

if (ordValue >= Ord(Low(TMyType))) and (ordValue <= Ord(High(TMyType))) then
    enunValue := TMyType(ordValue)
else
    raise Exception.Create('ordValue out of TMyType range');

关于delphi - 如何将整数转换为枚举类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8732391/

10-11 01:30