gpt4 book ai didi

Delphi 检查类型声明中的变量值

转载 作者:行者123 更新时间:2023-12-03 15:47:18 26 4
gpt4 key购买 nike

如何确定变量的值是否在类型声明的范围内。例如。

Type
TManagerType = (mtBMGR, mtAMGR, mtHOOT);

...

var
ManagerType: TManagerType;

....


procedure DoSomething;
begin
if (ManagerType in TManagerType) then
DoSomething
else
DisplayErrorMessage;
end;

谢谢,彼得。

最佳答案

InRange: Boolean;
ManagerType: TManagerType;
...
InRange := ManagerType in [Low(TManagerType)..High(TManagerType)];
<小时/>

正如 Nickolay O. 所指出的 - 而上面的 bool 表达式直接对应于:

(Low(TManagerType) <= ManagerType) and (ManagerType <= High(TManagerType))

编译器不会根据基于单个子范围的立即集检查成员资格来执行优化。因此,[成熟]优化的代码将不太优雅。

关于Delphi 检查类型声明中的变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4286786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com