Добавление в список многострочную переменную

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Парни, выручайте.
В переменную попадают значения, их нужно засунуть в список, каждое на новой строчке.
В переменной лежит вот такое значение:
"строка_1
строка_2
строка_3"
Добавляю в список, list.add(var) открываю его, вижу 3 строчки, проверяю сколько количество строчек через list.count(), показывает 1, удаляю перенос, нажимаю enter (для переноса этой одной строки, что до этого удалили), после этого проверяю, показывает как нужно 3шт. Видимо есть какой-то невидимый разделитель типа "\r\n" , подскажите как по нему сделать split("\r\n") и положить все значения этой переменной в список? каждое значение на нормальной новой строчке, чтобы потом можно было взять эту строку и поработать с ней?
спасибо)))
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Все просто, обработка текста и в список, так как на скриншоте, со своими строками
1612562346714.png
Результат получишь, такой
1612562385179.png
 

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Все просто, обработка текста и в список, так как на скриншоте, со своими строками
Посмотреть вложение 71953
Результат получишь, такой
Посмотреть вложение 71954
Не, мне не так. Распишу подробнее. Решение нужно С#
C#:
//В переменную попадает вот такая информация
string data = "Значение1
    значение2
    значение3"; // не ругайтесь, просто покажываю что разделение значений enter
//добавляем значения из этой пременной в лист
List <string> name_list = new List <string>();
name_list.add(data);
//Возвращаю значения
return name_list.count();
//хотелось бы получить 3, но получаю 1.
Вопрос, как корректно добавить переменную в список, чтобы каждое значение было на своей строке.
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Не, мне не так. Распишу подробнее. Решение нужно С#
C#:
//В переменную попадает вот такая информация
string data = "Значение1
    значение2
    значение3"; // не ругайтесь, просто покажываю что разделение значений enter
//добавляем значения из этой пременной в лист
List <string> name_list = new List <string>();
name_list.add(data);
//Возвращаю значения
return name_list.count();
//хотелось бы получить 3, но получаю 1.
Вопрос, как корректно добавить переменную в список, чтобы каждое значение было на своей строке.
В коде я не понимаю, но так вроде, на кубиках получилось
1612563126408.png
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 423
Баллы
113
C#:
List<string> name_list = new List<string>(data.Split(new[]{Environment.NewLine}, StringSplitOptions.None).ToList());
return name_list.Count;
Что-то вроде этого. Зенки нет под рукой. Если что, сам подправишь, мысль уловил, думаю
 
  • Спасибо
Реакции: arbplv

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
C#:
List<string> name_list = new List<string>(data.Split(new[]{Environment.NewLine}, StringSplitOptions.None).ToList());
return name_list.Count;
Что-то вроде этого. Зенки нет под рукой. Если что, сам подправишь, мысль уловил, думаю
Да, типа такого и нужно, ща читану про эти перегрузки и разберусь. Спасибо!
 
  • Спасибо
Реакции: Alexmd

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
C#:
List<string> name_list = new List<string>(data.Split(new[]{Environment.NewLine}, StringSplitOptions.None).ToList());
return name_list.Count;
Что-то вроде этого. Зенки нет под рукой. Если что, сам подправишь, мысль уловил, думаю
Хм, все равно записывается одной строчкой... Что то в этом чудном переносе строк, буду копать туда... Т.к. по другим символам все переносится корректно...
 
Последнее редактирование:

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 423
Баллы
113
Посмотреть бы на переменную. Как там записаны эти строки... А, если просто по '\n' сплитануть?
return data.Split('\n').ToList().Count;
 

arbplv

Client
Регистрация
28.03.2020
Сообщения
373
Благодарностей
23
Баллы
18
Посмотреть бы на переменную. Как там записаны эти строки... А, если просто по '\n' сплитануть?
Начал писать и увидел твой ответ, да просто по .Split(new[] {"\n"}, StringSplitOptions.None) все отработало корректно, до этого делал "\r\n" и были ошибки, спасибо) в любом случае ты сильно мне помог!!!
 
  • Спасибо
Реакции: Alexmd

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 423
Баллы
113
Пихать \n в массив и делать лишние конвертации бессмысленно - это и так char
return (int)'\n';
Но надо учитывать, что, если тебе попадется \r\n перенос, то \r так и останется в строке. Поэтому, наверное, правильно будет сделать так:
C#:
string data = "aaa\r\nbbb\nccc";
List <string> name_list = new List<string>();
foreach(string s in data.Split('\n'))
    name_list.Add(s.Trim());
 
Последнее редактирование:

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