是否可以单独声明const数组项值

Jam*_*son 5 arrays delphi const

鉴于以下枚举:

type TEnum = (teA, teB, teC);
Run Code Online (Sandbox Code Playgroud)

我想声明一个const数组TEnum,但是我发现以下数组项和枚举项之间的连接相对难以阅读和维护(显然我知道我可以详细评论并给每个项目自己的行) :

const AN_ARRAY : array[TEnum] of Integer = (1, 12, 146);
Run Code Online (Sandbox Code Playgroud)

有没有办法声明一个更像这样的const数组?

const
  AN_ARRAY : array[TEnum] of Integer : 
    AN_ARRAY[teA] = 1,
    AN_ARRAY[teB] = 12,
    AN_ARRAY[teC] = 146
  ;
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想设置enum ord值而不使用数组,但这意味着我不能 TypeInfo用来操作枚举.

Rob*_*edy 5

不.数组常量的索引总是隐含的.如果您需要在相应的值旁边看到它们,请将它们包含在注释中,但要注意注释可能与实际代码不同步,编译器不会向您发出警告.

const
  AN_ARRAY : array[TEnum] of Integer = (
    1,  // teA
    12, // teB
    146 // teC
  );
Run Code Online (Sandbox Code Playgroud)