Объединение строк

Sega00

Client
Регистрация
29.03.2017
Сообщения
40
Благодарностей
4
Баллы
8
Есть код C# объединяющий строки в одну
Код:
var list = project.Lists["Список"]; // Исходный список
            Random rand = new Random();
            StringBuilder strb = new StringBuilder();
                // j - количество строк, которое нужно взять.
            int j = int.Parse(project.Variables["Number"].Value);
            for (int i = 0; i < j; i++)
            {
                int r = rand.Next(list.Count);
                if (i + 1 == j)
                {
                    strb.Append(list[r]);
                }
                else
                {
                    strb.Append(list[r] + @"{-String.Enter-}"); // Разделитель
                }
               
                list.RemoveAt(r);
            }
            return strb.ToString();
Но он объединяет строки в разброс. Т.е. в списке есть строки:
Строка 1
Строка 2
Строка 3.
После объединения в переменную (Разделитель {-String.Enter-}):
Строка 2
Строка 1
Строка 3 (Не по порядку).
Как сделать, чтобы он объединял строки в таком же порядке как был в списке?
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 807
Баллы
113
C#:
return String.Join(Environment.NewLine, project.Lists["Список"]);
 
  • Спасибо
Реакции: alexsandroid и Sega00

Sega00

Client
Регистрация
29.03.2017
Сообщения
40
Благодарностей
4
Баллы
8
Спасибо)
 

discus

Client
Регистрация
21.09.2020
Сообщения
87
Благодарностей
43
Баллы
18
Данный код не объединяет строки. Надо из списка 2:
1
2
3
4
сделать список 3:
1:2
3:4
Код оставляет список 3 пустым, при сохранении в переменную тоже пусто. Number=2. Делал такое на кубиках - обработка долгая получается. Кто поможет?
C#:
var list = project.Lists["2"]; // Исходный список
            Random rand = new Random();
            StringBuilder strb = new StringBuilder();
                // j - количество строк, которое нужно взять.
            int j = int.Parse(project.Variables["Number"].Value);
            for (int i = 0; i < j; i++)
            {
                int r = rand.Next(list.Count);
                if (i + 1 == j)
                {
                    strb.Append(list[r]);
                }
                else
                {
                    strb.Append(list[r] + @":"); // Разделитель
                }
           
                list.RemoveAt(r);
            }
            return String.Join(Environment.NewLine, project.Lists["3"]);
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)