一个包含6个布尔值的数组:
stages: Array [0..5] of Boolean;
我想在使用它之前重置它,但根据 Delphi Rio编译器,这不是一个有效的操作:
stages := [False, False, False, False, False, False];
我该怎么表达呢?
ijxebb2r1#
如果显式声明数组的类型,则可以使用finally documentedDefault内部函数。
Default
type TMyBoolArray = array[0..5] of Boolean; var stages: TMyBoolArray; begin stages := Default(TMyBoolArray);
mnemlml82#
FillChar(Stages,Sizeof(Stages),False);
mzmfm0qo3#
更简单和安全的容易理解(* 由于Andreas在评论中的好论点,稍后编辑 *)对您的问题的回答是这样的:申报区:
const TopStage = 5; var stages: Array [0..TopStage] of Boolean;
然后,你可以像这样在一个循环中设置每个元素:
for var I := 0 to TopStage do stages[I] := False;
如果你有一个动态数组(stages: Array of Boolean)或(stages: TArray<Boolean>),那么你可以做你尝试过的事情:
stages: Array of Boolean
stages: TArray<Boolean>
3条答案
按热度按时间ijxebb2r1#
如果显式声明数组的类型,则可以使用finally documented
Default
内部函数。mnemlml82#
mzmfm0qo3#
更简单和安全的容易理解(* 由于Andreas在评论中的好论点,稍后编辑 *)对您的问题的回答是这样的:
申报区:
然后,你可以像这样在一个循环中设置每个元素:
如果你有一个动态数组(
stages: Array of Boolean
)或(stages: TArray<Boolean>
),那么你可以做你尝试过的事情: