我有一个如此声明的过程:
procedure MyProc(List: Array of string);
Run Code Online (Sandbox Code Playgroud)
我想知道如何检查List
参数是否为空.
例如:
procedure MyProc(List: Array of string);
begin
if List=[] then // here I want to check if the List array is empty
//do something
else
//do something else
end;
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
RRU*_*RUZ 24
你可以使用这个Length
功能
procedure MyProc(List: Array of string);
begin
if Length(List)=0 then // is empty ?
//do something
else
// do something else
end;
Run Code Online (Sandbox Code Playgroud)
Rob*_*edy 10
空数组等于nil
:
if List = nil then // it's empty
Run Code Online (Sandbox Code Playgroud)
(这也意味着SetLength(List, 0)
并且List := nil
是等效的命令.)
空数组的最后一个索引小于第一个索引,对于示例中的open数组,这意味着具有负的最后一个索引:
if High(List) < 0 then // it's empty
Run Code Online (Sandbox Code Playgroud)
这意味着如果您想避免在空数组上运行循环,则不必执行任何特殊操作.只需像往常一样编写循环:
for i := Low(List) to High(List) do // won't run if List is empty
Run Code Online (Sandbox Code Playgroud)