Когда необходимо отслеживать содержимое строки во время цикла, что является лучшей альтернативой StringBuilder? [закрытоC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Когда необходимо отслеживать содержимое строки во время цикла, что является лучшей альтернативой StringBuilder? [закрыто

Сообщение Гость »


Я понимаю значительные преимущества использования StringBuilder во многих обстоятельствах (вместо многократного объединения строки снова и снова), но, скажем, я нахожусь в цикле, который требует от меня на каждом круге оценивать текущее содержимое строки? Я предполагаю, что StringBuilder здесь бесполезен, поскольку он предполагает повторное использование StringBuilder.ToString(); что противоречит преимуществам StringBuilder.

Что, по вашему мнению, является наиболее эффективным способом замены StringBuilder в моем примере ниже?

Представьте, что входящий параметр listIncoming следующей функции содержит множество строк, включая две строки, указанные в следующих индексах listIncoming:

Элемент списка 56: «Я хочу поздороваться»

Пункт списка 57: «Мир, я готов к тебе»

Теперь представьте, что этот список отправляется следующей функции; с пониманием того, что если «Hello» когда-либо окажется непосредственно перед «World», то из цикла следует выйти...

частная строка BuildUpStringToReturn(List listIncoming) { StringBuilder sb = новый StringBuilder(); for (int i = 0; я [*] Если не считать неэффективной проверки текущего статуса sb.ToString() на каждой итерации цикла выше, мне интересно, есть ли альтернатива, которую вы могли бы предложить. Если единственной альтернативой является использование строки внутри примера функции, я приму этот ответ. Было бы просто полезно знать.

Возможные альтернативы «обходного пути», которые я рассматриваю (оба из которых позволят избежать необходимости в вышеуказанной функции)...
Используйте другие средства, чтобы превратить список в строку (например, «String.Join»)... а затем посмотрите, содержит ли эта строка «Hello World». [*]При заполнении списка убедитесь, что слова «Hello» и «World» никогда не отображаются подряд. [*]Любые другие идеи, которые вы можете предложить.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»