使用 TStringList.Sort 对自由帕斯卡中的字符串集合进行排序,我需要记住初始顺序。是否有可能返回排序后的索引?如果没有,如何有效地做到这一点?
问问题
202 次
2 回答
3
您可以使用 object 属性来存储项目的原始索引。
所以你可以用这种方式插入你的物品
SL.AddObject('Item 1', TObject(SL.Count));
SL.AddObject('Item 2', TObject(SL.Count));
并在对 TStringList 排序后检索原始索引
Index := Integer(SL.Objects[i]);
于 2012-02-02T16:38:37.753 回答
0
有点晚了,但由于字符串是在写入时复制的,您可以简单地将 tstringlist 分配给第二个 tstringlist 使用
t2.assign(t1);
这不会复制字符串。由于写入时的复制行为,tstringlist 就像字符串的索引。
于 2012-02-07T11:24:38.057 回答