将 ShortInt 数组转换为字符串,Delphi

Jos*_*rdo 1 delphi

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

就我而言,它将是 ShortInt 的动态数组。

例如,给定以下输入:

[0,20,-15]
Run Code Online (Sandbox Code Playgroud)

我想要以下输出:

0,20,-15
Run Code Online (Sandbox Code Playgroud)

Dav*_*nan 5

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

编写算法的最简单方法可能是使用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;
Run Code Online (Sandbox Code Playgroud)