我正在按照我的方式学习,即: 使用FOR并逐个获取Index数组,但是它会离开太慢,否则会将其转换为String?离得更快?
在我的情况下,它将是一个ShortInt动态数组。
例如,给定此输入:
[0,20,-15]
我想要以下输出:
0,20,-15
答案 0 :(得分: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;