2011-08-21 152 views
0

如何将字符串数组转换为字符串?还是有其他想法?如何将字符串数组转换为字符串?

我这样做是这样的:

var 
    s:string; 
    i:integer; 
begin 
    for i:=1 to 10000 do 
    begin 
     if (i mod 2)=0 then 
      s:='a'+s 
     else 
      s:='b'+s; 

    end; 
end; 

正如你看到i是要大量1000或10000或10000所以这意味着10000次,我不得不这样做,我怎么能做到这一点非常短时间..使用数组?请举例代码..

+0

看起来像这就是你以后? http://stackoverflow.com/questions/686413/delphi-stringbuilder –

回答

2
SetLength(s, n); 
for i := 1 to n do 
    s[i] := ... 

是你需要的成语。

你的代码很慢,因为它在每次迭代时执行内存分配和复制。这种预先分配缓冲区的方法避免了这种情况。

相关问题