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