TList< TPerson> 的删除,查询 都是 按指针来的,没有任何问题!!!
TPerson = class
private
name: string;
age: Integer;
public
constructor Create(name: string; age: Integer);
end;
constructor TPerson.Create(name: string; age: Integer);
begin
inherited Create;
Self.name := name;
self.age := age;
end;
procedure TForm4.Button5Click(Sender: TObject);
begin
var persons := TObjectList<TPerson>.Create;
try
var p1 := TPerson.Create('小李', 1);
persons.Add(p1);
persons.Add(TPerson.Create('小李', 3));
var p4 := TPerson.Create('小李', 4);
persons.Add(p4);
persons.Add(TPerson.Create('小李', 2));
persons.Remove(p1); //删除是按照指针来直接删除
Memo1.Lines.Add('删除后,p4的索引' + persons.IndexOf(p4).ToString); //查询也是根据指针来查询
for var v in persons do
begin
Memo1.Lines.Add(v.name + ' - ' + v.age.ToString);
end;
finally
persons.Free;
end;
end;
本文来自博客园,作者:del88,转载请注明原文链接:https://www.cnblogs.com/del88/p/18583254