-1

我有一个看起来像这样的代码(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 次。这发生在我的程序开始时,我希望启动速度更快。问题是:有没有更好的方法来做到这一点(更有效)?我应该使用字符串生成器而不是一遍又一遍地创建新字符串吗?它会有所帮助吗,或者“替换”操作将花费尽可能多的时间?

谢谢,约西。

4

1 回答 1

1

改变:

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

至:

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

这样,您将减少字符串分配、连接的数量,......

于 2014-04-14T08:40:52.143 回答