作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在编写测试程序时,我遇到了以下示例代码:
var MyData: TArray<TDataRec>;
procedure AppendData(AItem: TOrderByCustomer);
var i: Integer;
tmp: TArray<TOrderByCustomer>;
begin
SetLength(tmp, Length(MyData)+1);
for i:=0 to High(MyData) do
tmp[i]:=MyData[i];
tmp[Length(tmp)-1]:=AItem;
MyData:=tmp;
end;
最佳答案
此代码没有充分的理由。它引入了不必要复制的潜在开销。该函数应这样写:
procedure AppendData(const AItem: TOrderByCustomer);
var
N: Integer;
begin
N := Length(MyData);
SetLength(MyData, N + 1);
MyData[N] := AItem;
end;
关于delphi - 如何最好地将记录添加到TArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51846137/
我是一名优秀的程序员,十分优秀!