Должен ли я использовать 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));
Таким образом, вы сократите количество распределений строк, конкатенаций, ...