2012-11-05 46 views
0

我正在按照我學習的方式進行操作,即:使用FOR並逐個獲取Index數組,但它會變得太慢,否則會將其轉換爲String ?那離開更快?將ShortInt數組轉換爲字符串,Delphi

在我的情況下,它將是一個Dynamic Array of ShortInt。

例如,假設該輸入:

[0,20,-15] 

我想下面的輸出:

0,20,-15 

回答

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; 
+0

對不起返回此: '%PDF-1.5% âãÏÓ 43 0 OBJ << /線性化1/L 3016435/O 45/E 1562891/N 2/T 3016048/H [479 221] >> endobj 54 0 OBJ <> /過濾/ FlateDecode/ID [<8BC0AFA464E020A336FE264E96C0FB99>] /索引[43 24] /信息42 0 R /長度74 /上一個3016049 /根44 0 R /大小67 /類型/ XRef/W [1 3 1] >>流 hÞbbd'''''Z「OÙÙÇÁd~\ $ Yo}±AA $ [Xedäo '¿††30ÍÙÊIggüø À' –

+0

@JoseEduardo Presuma bly你可以看到我的答案和RRUZ中的所有代碼。如果這不符合你的要求,你需要澄清這個問題。也就是說,'%PDF-1.5'字符串看起來像代碼表現良好。 –

+0

我有我的數組[0,150,30,12,-15,-30 ...],需要以相同的方式傳遞,但作爲一個串聯的字符串,例如: 'Array [0] = 0; Array [1] = 150; Array [2] = 30; ...' 早在串需要是這樣的: '字符串= 0,150,30 ...' 所有的連接,而是使用'for'越來越太慢...... –