powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Microsoft .NET [закрыт для гостей] / C#, конкатенация строк
11 сообщений из 11, страница 1 из 1
C#, конкатенация строк
    #106821
Просто Трёп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю в цикле
Код: C#
1.
s = s + t + ",";
несколько тысяч раз, получается очень долго. Он что, каждый раз память выделяет? Как это можно ускорить?
...
Рейтинг: 0 / 0
C#, конкатенация строк
    #106823
IT-Христ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто Трёп  03.08.2022, 17:37
[игнорируется]
Делаю в цикле
Код: C#
1.
s = s + t + ",";
несколько тысяч раз, получается очень долго. Он что, каждый раз память выделяет? Как это можно ускорить?
У C# фиксированные строки, он каждый раз их по новой создаёт.
По моему, надо StringBuilder использовать.
...
Изменено: 03.08.2022, 17:38 - IT-Христ
Рейтинг: 0 / 0
C#, конкатенация строк
    #106826
IT-Христ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
String это фиксированная строка, которая не меняет размер. При добавлениях получается огромное количество этих временных строк.
StringBuilder это тип строки, которая может изменять размер. Все операции идут с одним объектом.
...
Рейтинг: 2 / 0
C#, конкатенация строк
    #106840
Просто Трёп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IT-Христ  03.08.2022, 17:40
[игнорируется]
String это фиксированная строка, которая не меняет размер. При добавлениях получается огромное количество этих временных строк.
StringBuilder это тип строки, которая может изменять размер. Все операции идут с одним объектом.
сенькс.
...
Рейтинг: 0 / 0
C#, конкатенация строк
    #106848
Просто Трёп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, реально все залетало.
...
Рейтинг: 1 / 0
Нравится: Гарыныч
C#, конкатенация строк
    #106884
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
Можно массив чаров заполнить и создать строку прям из него.
Без стрингбилдера.
...
Рейтинг: 0 / 0
C#, конкатенация строк
    #106896
Просто Трёп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNose  03.08.2022, 19:14
[игнорируется]
Можно массив чаров заполнить и создать строку прям из него.
Без стрингбилдера.
Так я ж конечного размера не знаю. Или динамический массив? Думаешь, будет быстрее?
...
Рейтинг: 0 / 0
C#, конкатенация строк
    #106925
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
Просто Трёп  03.08.2022, 19:52
[игнорируется]
eNose  03.08.2022, 19:14
[игнорируется]
Можно массив чаров заполнить и создать строку прям из него.
Без стрингбилдера.
Так я ж конечного размера не знаю. Или динамический массив? Думаешь, будет быстрее?
Выделяй блоками по тысячи. Лишние удалишь в конце.

Насчет быстрее хз.
...
Рейтинг: 0 / 0
C#, конкатенация строк
    #115406
cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Гесты и игнорируемые идут по CSS
А зачем вообще внутри цикла создавать строки?
eNose  03.08.2022, 21:22
[игнорируется]
Просто Трёп  03.08.2022, 19:52
[игнорируется]
eNose  03.08.2022, 19:14
[игнорируется]
Можно массив чаров заполнить и создать строку прям из него.
Без стрингбилдера.
Так я ж конечного размера не знаю. Или динамический массив? Думаешь, будет быстрее?
Выделяй блоками по тысячи. Лишние удалишь в конце.

Насчет быстрее хз.
Чесание правого уха левой рукой.
Стрингбилдер так и работает - выделяет память

https://docs.microsoft.com/ru-ru/dotnet/api/system.text.stringbuilder?view=net-6.0#HowWorks
...
Рейтинг: 0 / 0
C#, конкатенация строк
    #115415
cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Гесты и игнорируемые идут по CSS
Я так понимаю, что в итоге получается что-то вроде 1,2,3,4,5,6,7,8,

Тогда надо так.

Перед циклом
Код: C#
1.
List<object> myString = new List<object>();
Внутри цикала
Код: C#
1.
myString.Add(t);
После цикла
Код: C#
1.
         string  s = String.Join(",", myString);
...
Рейтинг: 0 / 0
C#, конкатенация строк
    #125830
Администратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Администратор
Тема была перенесена из форума 'Общие вопросы по IT'.
...
Администратор:
Тема была перенесена из форума 'Общие вопросы по IT'.
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft .NET [закрыт для гостей] / C#, конкатенация строк
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]