gpt4 book ai didi

delphi - 为什么变量被声明为 TStrings 并被创建为 TStringList?

转载 作者:行者123 更新时间:2023-12-03 14:32:47 27 4
gpt4 key购买 nike

为什么变量声明为 TStrings 并创建为 TStringList

例如:var sl 被声明为 TStrings 但创建为 TStringList

var
sl : TStrings;
begin
sl := TStringList.Create;

// add string values...
sl.Add( 'Delphi' );
sl.Add( '2.01' );

// get string value using its index
// sl.Strings( 0 ) will return
// 'Delphi'
MessageDlg(
sl.Strings[ 0 ],
mtInformation, [mbOk], 0 );

sl.Free;
end;

最佳答案

TStrings 是一种抽象类型,并未实现所有方法。

TStringListTStrings 的后代并实现所有功能。在您的代码中,您也可以将变量声明为 TStringList

但是,例如在函数定义上,接受 TStrings 参数而不是 TStringList 是有意义的:

procedure doSomething(lst: TStrings);

这使得该函数能够与 TStrings 的所有实现一起使用,而不仅仅是 TStringList

关于delphi - 为什么变量被声明为 TStrings 并被创建为 TStringList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9379607/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com