在Delphi中从常量数组​​设置常量

Mar*_*_13 2 arrays delphi const set

所以我有一个像这样的常数字符:

const spCh:array[#1..#4]of char=('\','%','{','}');
Run Code Online (Sandbox Code Playgroud)

我还需要一个包含数组中所有元素的集合,所以我这样做:

var h:char; spChrz:set of char;
...
  spChrz:=[];
  for h:=#1 to #4 do spChrz:=spChrz+[spCh[h]];
Run Code Online (Sandbox Code Playgroud)

是否有可能以某种方式定义const数组的常量集?

Rob*_*edy 6

否.数组总是类型常量,并且类型常量不能用于定义其他类型的常量,例如您的集合.

请注意,按照您的建议方式定义的集合没有性能优势.类型化常量的访问方式与普通变量相同,因此您可以保留在运行时从数组初始化集合的代码.