我怎么正确地写:?如何检查数组是否包含特定值?
If number is different from Array[1] to Array[x-1] the begin......
其中number是一个整数,数组是整数数组从1到x
我怎么正确地写:?如何检查数组是否包含特定值?
If number is different from Array[1] to Array[x-1] the begin......
其中number是一个整数,数组是整数数组从1到x
我相信你想要做的事,如果number
未找到数组。然后,你可以做这样的:
NoMatch := true;
for i := Low(MyArray) to High(MyArray) do
if MyArray[i] = number then
begin
NoMatch := false;
break;
end;
if NoMatch then
DoYourThing;
您可以创建一个数字是不是在阵列发现检查功能。然后,您可以在每次需要执行此检查时使用此功能。每一次,代码都会更具可读性。例如,你可以做这样的:
function IsNumberInArray(const ANumber: integer;
const AArray: array of integer): boolean;
var
i: integer;
begin
for i := Low(AArray) to High(AArray) do
if ANumber = AArray[i] then
Exit(true);
result := false;
end;
...
if not IsNumberInArray(number, MyArray) then
DoYourThing;
如果使用的是旧版本的Delphi,你必须begin result := true; break; end
更换Exit(true)
。在Delphi的新版本中,我想你也可以玩类似泛型的东西。
伟大的思想家想象:D –
@Jens除了你的代码与Andreas' –
我确定我建议你不要使用基于1的数组索引。请允许我重复这个建议。 –
另外,'Array'在Delphi中不是一个有效的变量名。 –
@AndreasRejbrand我已经告诉过菲利普,至少有一次之前:http://stackoverflow.com/questions/29594762/program-stops-after-reading-procedure-delphi –