0

我正在按照我学习的方式进行操作,即:使用 FOR 并一个一个地获取索引数组,但是它离开的速度太慢了,否则会将其转换为字符串吗?离开更快?

在我的情况下,它将是 ShortInt 的动态数组。

例如,给定这个输入:

[0,20,-15]

我想要以下输出:

0,20,-15
4

1 回答 1

4

我怀疑您的代码很慢,因为它正在执行不必要的字符串重新分配。但是,如果没有看到您的代码,就很难确定。

编写算法的最简单方法可能是使用TStringBuilder. 这是否提供足够的性能,只有你能说。

sb := TStringBuilder.Create;
try
  for i := 0 to high(buffer) do
  begin
    sb.Append(IntToStr(buffer[i]));
    if i<high(buffer) then
      sb.Append(',');
  end;
  str := sb.ToString;
finally
  sb.Free;
end;
于 2012-11-05T14:12:13.150 回答