Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 28.05.2019
Сообщений: 13

Добавление string в List<string> находящийся в List<T>

19.02.2021, 08:25. Показов 934. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день формучане, не ругайте строго за, возможно нубский, вопрос.
С# перешёл не так давно.

Нужно в List<string> находящийся в List<T> записать i-строку из string[]

C#
1
2
3
int index = sender_list.FindIndex(x => x.INN == mails_in[0][1]);
if (index < 0) sender_list.Add(new Contragent { name = mails_in[0][0], INN = mails_in[0][1], mails = mail_pool, doc_num = ???????????? });
else sender_list[index].doc_num.Add(file_list[i]);
Вместо вопросов не знаю как присвоить члену doc_num(list<string) строку из массива

C#
1
2
string file_path = @"N:\!Hydra Документы\2021-01";
string[] file_list = Directory.GetFiles(file_path, "*.*");
C#
1
2
3
4
5
6
7
    class Contragent
    {
        public string name { get; set; }
        public string INN { get; set; }
        public List<string> doc_num { get; set; }
        public List<string> mails { get; set; }
    }
временный костыль поставил следующий
C#
1
2
3
4
5
List<string> kostil = new List<string>();
                kostil.Add(file_list[i]);
                int index = sender_list.FindIndex(x => x.INN == mails_in[0][1]);
                if (index < 0) sender_list.Add(new Contragent { name = mails_in[0][0], INN = mails_in[0][1], mails = mail_pool, doc_num = kostil });
                else sender_list[index].doc_num.Add(file_list[i]);
Подскажите как это сделать красиво и правильно без костылей.
Спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.02.2021, 08:25
Ответы с готовыми решениями:

Как правильно добавить в Dictionary<string, List<string>> List<string> полученного с консоли
Всем привет, есть необходимость скопировать содержимое коллекции List&lt;string&gt; в значение Dictionary&lt;string, List&lt;string&gt;&gt; ...

Разбить List<string> на несколько обьектов c List<string>
Задумался как я то кусочками все делить оказалось не так уж просто :scratch: List&lt;string&gt; Разбить на несколько...

Конвертировать один элемент из List<List<Class>> в list и string
Как можно перевести один выбранный элемент из List&lt;List&lt;Data&gt;&gt; myList в list и string? Например, myList. Сейчас я могу с помощью...

2
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,112
Записей в блоге: 2
19.02.2021, 13:07
Цитата Сообщение от EltsVV Посмотреть сообщение
Подскажите как это сделать красиво и правильно без костылей.
Ну, ваше решение нельзя назвать костылём.
Можно его сделать в одну строку, но от этого оно не станет лучше.
Просто другой способ инициализации.
C#
1
2
3
4
5
6
7
8
if (index < 0) 
      sender_list.Add(new Contragent 
      { 
           name = mails_in[0][0], 
           INN = mails_in[0][1], 
           mails = mail_pool, 
           doc_num = new List<string>() {file_list[i]} 
       });
Добавлено через 7 минут
Если Contragent - это тип вашей реализации, я бы посоветовал добавить в него конструктор с параметрами:
C#
1
2
3
4
5
6
7
8
    public Contragent () {}
    public Contragent (string name, string inn, string mails, params string[] doc_nums)
    {
        this.name = name;
        this.INN = inn;
        this.mails = mails;
        this.doc_num  = new List(doc_nums);
     }
C#
1
2
if (index < 0) 
      sender_list.Add(new Contragent (mails_in[0][0], mails_in[0][1], mail_pool, file_list[i]));
0
0 / 0 / 0
Регистрация: 28.05.2019
Сообщений: 13
19.02.2021, 14:39  [ТС]
Благодарю. пока сменил один "костыль" на другой. сократил пару строк.
Сейчас почитаю про конструкторы с параметрами.
Если правильно понял мысль, то конструктору мы кормим стринги, а ону уже преобразовывает и добавляет из в листы.

пошёл читать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.02.2021, 14:39
Помогаю со студенческими работами здесь

Как передать list<string> в поток и как такой же list<string> вывести из потока?
Как передать list&lt;string&gt; в поток и как такой же list&lt;string&gt; вывести из потока в richtextbox? Покажите пример.

List<string, string, string> есть ли в C# что-то подобное?
Мне надо добавить в List не только имя файла, но и некоторые строки из этого файла. Т.е. например, у меня есть в определенном директории...

List<string> или все же List<StringBuilder>, что лучше использовать?
Добрый день, хочется узнать с точки зрения производительности что подходит лучше в данном случае. Есть List&lt;List&lt;T&gt;&gt;, в...

Необходимо создать dll в которой буду обрабатывать list<list<string>>
Необходимо создать dll в которой буду обрабатывать list&lt;list&lt;string&gt;&gt; как объявить методы класса чтобы я задавал на вход экземпляр...

Записать в файл по очереди элементы List<string> и List<char>
У меня есть List с string элементами и есть List с char элементами. Как сделать чтобы у файл записывались последователь сначало string...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru