首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi StringBuilder

Delphi StringBuilder
EN

Stack Overflow用户
提问于 2009-03-26 16:05:14
回答 7查看 18.3K关注 0票数 25

在Delphi中是否存在类似于Java或C#的StringBuilder?或者Delphi不需要StringBuilder,而s := s + 'some string';是很好的表达方式(主要是在for,while循环中)。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-03-26 16:09:14

是的,Delphi提供了TStringBuilder (从2009版本开始):

代码语言:javascript
复制
procedure TestStringBuilder;
var
  I: Integer;
  StringBuilder: TStringBuilder;
begin
  StringBuilder := TStringBuilder.Create;
  try
    for I := 1 to 10 do
    begin
      StringBuilder.Append('a string ');
      StringBuilder.Append(66); //add an integer
      StringBuilder.Append(sLineBreak); //add new line
    end;

    OutputWriteLine('Final string builder length: ' +
                    IntToStr(StringBuilder.Length));
  finally
    StringBuilder.Free;
  end;
end;

是的,你是对的。与使用TStringBuilder相比,s := s + 'text';并不是很慢。

票数 48
EN

Stack Overflow用户

发布于 2009-03-26 16:30:40

在较老的Delphis中,你可以使用Hallvard Vassbotn的HVStringBuilder。我在他的博客上找不到源代码,但你可以在OmniThreadLibrary源代码树中获取它们,例如(你需要文件HVStringBuilder.pas和HVStringData.pas)。

票数 7
EN

Stack Overflow用户

发布于 2009-03-30 16:30:58

Delphi没有"REQUIRE“一个字符串生成器类,但如果你想使用它,它是为Delphi2009提供的。你的s字符串s+‘:=’的例子;是连接字符串的典型方法,在过去的几十年里一直在Pascal/Delphi中使用,没有任何明显的问题。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/686413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档