我应该使用StringBuilder吗?

时间:2014-04-13 15:11:44

标签: c# string .net-3.5 stringbuilder string-building

我有一个代码(C#.Net 3.5),看起来像这样:

string s1, s2;

for (i=0; i<n; i++)
{
  s1 = "SomeString1"
  s2 = s1 + '.' + i
  SomeList.Add("Bla1" + s2);

  s1 = "SomeString2"
  s2 = s1 + '.' + i
  SomeList("Bla1" + s2);

  s1 = "SomeString3"
  s2 = s1 + '.' + i
  SomeList.Add("Bla1" + s2);
 .
 .
 .
 etc.....
}

for (i=0; i<n; i++)
{
  s1 = "SomeString1"
  s2 = s1 + '.' + i
  SomeList.Add("Bla2" + s2);

  s1 = "SomeString2"
  s2 = s1 + '.' + i
  SomeList("Bla2" + s2);

  s1 = "SomeString3"
  s2 = s1 + '.' + i
  SomeList.Add("Bla2" + s2);
 .
 .
 .
 etc.....
}
.
.
.
etc...

n不大(大约5),这种模式重复约20次。 这发生在我的程序的开头,我希望启动更快。 问题是: 有没有更好的方法(更高效)? 我应该使用字符串构建器而不是反复创建新字符串吗? 它会有所帮助吗,或者#34;替换&#34;行动需要花费多少时间?

谢谢, 贝纳。

1 个答案:

答案 0 :(得分:1)

变化:

s1 = "SomeString1"
s2 = s1 + '.' + i
SomeList.Add("Bla2" + s2);

要:

SomeList.Add(string.Format("Bla2SomeString1.{0}", i));

这样你就可以减少字符串分配,连接数...... ......