我正在按照我学习的方式进行操作,即:使用 FOR 并一个一个地获取索引数组,但是它离开的速度太慢了,否则会将其转换为字符串吗?离开更快?
在我的情况下,它将是 ShortInt 的动态数组。
例如,给定这个输入:
[0,20,-15]
我想要以下输出:
0,20,-15
我正在按照我学习的方式进行操作,即:使用 FOR 并一个一个地获取索引数组,但是它离开的速度太慢了,否则会将其转换为字符串吗?离开更快?
在我的情况下,它将是 ShortInt 的动态数组。
例如,给定这个输入:
[0,20,-15]
我想要以下输出:
0,20,-15
我怀疑您的代码很慢,因为它正在执行不必要的字符串重新分配。但是,如果没有看到您的代码,就很难确定。
编写算法的最简单方法可能是使用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;