niceaashish Ответов: 3

Как я могу выполнить эту логику


foreach (string text in storedata)
        {
          txtclients.Text = txtclients.Text + text + "\n";
        }


Txtclients-это идентификатор многострочного текстового поля
Не могли бы вы поделиться логикой, так как не хотите, чтобы "\n" выполнялся, когда цикл foreach выполняется в последний раз.

Что я уже пробовал:

Не могли бы вы поделиться логикой, так как не хотите, чтобы "\n" выполнялся, когда цикл foreach выполняется в последний раз.

3 Ответов

Рейтинг:
23

Richard Deeming

Если вы заменяете все содержимое текстового поля, попробуйте простой подход:

txtclients.Text = string.Join("\n", storedata);


niceaashish

Большое спасибо, это сработало.

Рейтинг:
1

Patrice T

Во-первых, выберите язык:
- код не является базовым
Принцип действия foreach таким образом, в цикле вы не знаете, когда находитесь на последней итерации.
Традиционное решение больше похоже на:

txtclients.Text = txtclients.Text + storedata[0];
for (int i=1; i< storedata.count; i++)
{
    txtclients.Text = txtclients.Text + "\n" + storedata[i];
}


niceaashish

В этом случае я получу пустую строку сверху вместо этого в конце
потому что сначала он создаст строку, а затем сохранит данные

Patrice T

Нет, посмотри лучше на мой код.
первая строка тоже имеет значение.

Рейтинг:
0

F-ES Sitecore

После цикла вы можете добавить

txtclients.Text = txtclients.Text.TrimEnd('\n');


niceaashish

Он все еще показывает пространство в последней строке ...
Я пробовал также внешнюю петлю и внутреннюю петлю

niceaashish

На самом деле эта функция обрезки обрезает то , что \n, но создается следующее, Как избавиться от него

F-ES Sitecore

Получите количество элементов в списке и создайте переменную счетчика, которую вы увеличиваете в цикле, чтобы всегда знать, какой элемент вы обрабатываете, и поместите if вокруг конкатенации, чтобы она добавлялась только в том случае, если это не последний элемент в списке, например if (counter < storedata.Считать).

Или, если это возможно, измените свой" foreach "на цикл" for", чтобы вы таким образом набрали количество строк, и снова поместите" if " вокруг строки, которую вы не хотите выполнять.