Должен ли я использовать StringBuilder?

У меня есть код (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 раз. Это происходит в начале моей программы, и я хочу, чтобы запуск был быстрее. Вопрос в том, есть ли лучший способ сделать это (более эффективный)? Должен ли я использовать построитель строк вместо создания новых строк снова и снова? Поможет ли это, или "заменитель" займет столько времени?

Спасибо, Йосси.

1 ответ

Изменить:

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

Для того, чтобы:

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

Таким образом, вы сократите количество распределений строк, конкатенаций, ...

Другие вопросы по тегам