http://www.delphi2007.net/DelphiBase/html/delphi_20061220050104112.html
我的意思是,如果是A,B是集合的话,那么我要B-A;
for x:=1 to A.count do
for y:=1 to B.count do
if a[x-1]=b[y-1] then b.delete(y-1);
用如下代码为什么会出错,如何修改呢?万分感谢回答的朋友!
for x:=1 to A.count do
for y:=B.count-1 downto 0 do
if a[x-1]=b[y-1] then b.delete(y-1);
因为你在B中删除一个项目后,B的COUNT值就变化了.....所以啊你应当在查询B时,要用DOWNTO来循环.
严重同意一楼。
楼上说的对,不能从头到脚,只能从脚到头这样删除才行
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
本文讨论了在Delphi编程环境下,如何使用TStringList去除两个列表中重复的元素。通过从后向前遍历并删除匹配项的方法,避免了在删除过程中列表长度变化导致的错误。
297

被折叠的 条评论
为什么被折叠?



