我目前的代码有问题
for i := 0 to stringlist1.count - 1 do
begin
found := false;
for j := 0 to stringList2.count - 1 do
begin
if stringList1[i] = stringList2[j] then
begin
found := true;
break;
end;
end;
if not found then
begin
stringlist1.delete(i);
end;
end;
如果我在stringList1中有多个项目,并且找不到的项目是第一个,或者是中间的某个位置(不是最后一个),那么我会得到一个错误:列表索引超出范围(*)
例如,如果我在stringList1中有2个项目,并删除last(2nd),则没有错误。如果我删除第一个(不是最后一个),则会出现错误:边界(1)的列表索引ouf出现。
我不确定从哪里开始解决此问题。