任何人都可以帮助比较两个stringlist并从中获得差异的最佳方法是什么?
例如,如果我有AList和BList之类的
ALIST
BList
如果我将它们比作
for i := 0 to BList.count-1 do
if AList.indexof(BList[i]) < 0 then
ResultList.Add(BList[i]);
结果是:
我只需要一次元素。我怎样才能避免多件物品?有没有比制作从List中删除多个项目的过程更好的解决方案?对不起我的英文,谢谢你的帮助!
答案 0 :(得分:8)
TStringList有一个属性Duplicates
,用于控制尝试将重复项添加到已排序列表时应该发生的情况。
来自文档:
dupIgnore 忽略尝试将重复的字符串添加到列表中。
dupError 在尝试时引发EStringListError异常 将重复的字符串添加到已排序的列表中。
dupAccept 允许排序列表中的重复字符串。
所以,设置
ResultList.Sorted := True;
ResultList.Duplicates := dupIgnore;