1 / 1 / 0
Регистрация: 18.02.2016
Сообщений: 71
|
||||||
1 | ||||||
Конвертировать один элемент из List<List<Class>> в list и string07.11.2018, 10:32. Показов 5481. Ответов 29
Метки нет Все метки)
(
Как можно перевести один выбранный элемент из List<List<Data>> myList в list и string?
Например, myList[0]. Сейчас я могу с помощью цикла поместить все элементы в список и потом уже работать с ним. Можно ли как-то выбрать только один элемент бе итерации?
0
|
|
07.11.2018, 10:32 | |
Ответы с готовыми решениями:
29
Необходимо создать dll в которой буду обрабатывать list<list<string>> List<string> или все же List<StringBuilder>, что лучше использовать? Записать в файл по очереди элементы List<string> и List<char> |
Модератор
![]() |
||||||
07.11.2018, 11:09 | 2 | |||||
Цикл у Вас по любому останется, так как есть вывод в консоль. Если бы его не было можно было записать Ваше преобразование так
Что касается выбора, то да - это можно, но не понятно из Вашего предложения что Вы хотите выбрать. Вы хотите Выбрать предприятие, отдел? По какому признаку? Более конкретно напишите, что Вам нужно. Можете написать несколько вариантов.
0
|
1 / 1 / 0
Регистрация: 18.02.2016
Сообщений: 71
|
|
07.11.2018, 11:17 [ТС] | 3 |
Хочу полностью выбрать одну запись. Например, первый список в списке это
dc John Smith Мне нужно это первести в строку " dc, John Smith".
0
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
||||||
07.11.2018, 11:25 | 4 | |||||
ivret,
0
|
Модератор
![]() |
|
07.11.2018, 11:36 | 5 |
Как выбрать? По какому критерию?
У Вас список предприятий, в них списки подразделений, в них список людей. Чтобы выбрать конкретного человека, надо указать данные по которым его искать. Допустим, надо найти на каком предприятии и в каком отделе Person с заданными Name и Surname. Или, найти первого Person в списке отдела с заданным Num на предприятии с заданным индексом. Кстати, у Вас неверно организован список предприятий. Вы храните его только в виде списка подразделений и у Вас есть только его индекс. Если список изменится (допустим, будет сортировка) Вы потеряете связность списка. Введите дополнительный класс для предприятия в котором кроме списка подразделений будет идентификатор и дополнительная информация о нём: код-идентификатор, полное название, сокращённое, имя директора, телефон и т.п. Это облегчит работу с этим списком. Добавлено через 8 минут Вывод ToString даёт иной вид. Посмотрите переопределение ToString в классе Data
0
|
1 / 1 / 0
Регистрация: 18.02.2016
Сообщений: 71
|
|
07.11.2018, 11:41 [ТС] | 6 |
0
|
Модератор
![]() |
|
07.11.2018, 11:45 | 7 |
![]() Решение
var person = myList[0][0].Persons[0].ToString(); В нулевом предприятии, нулевой отдел, нулевой человек в формате возвращаемом методом ToString
0
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
||||||
07.11.2018, 11:47 | 8 | |||||
Тогда ему нужно переопределить его ToString с
0
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
||||||
07.11.2018, 11:50 | 10 | |||||
А если dc, John
Smith это Num + person , то
Добавлено через 2 минуты Элд Хасп, я сюда захожу чтоб отвлечься от своих задач, так что, парой - даже не читаю написанное ![]()
0
|
1 / 1 / 0
Регистрация: 18.02.2016
Сообщений: 71
|
|
07.11.2018, 11:53 [ТС] | 11 |
Пишет List<List<Data>>" не содержит определения для "SelectMany" и не удалось найти метод расширения "SelectMany", принимающий тип "List<List<Data>>" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
0
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
||||||
07.11.2018, 11:59 | 13 | |||||
![]() Решение
1
|
1 / 1 / 0
Регистрация: 18.02.2016
Сообщений: 71
|
||||||
07.11.2018, 12:36 [ТС] | 15 | |||||
Ещё один вопрос. Как-нибудь можно отсюда вывести только Surname или Name?
0
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
||||||
07.11.2018, 12:40 | 16 | |||||
![]() РешениеНе по теме: Ужс... Книжку почитать? Вечера хватит, думаю, чтоб понять такое
0
|
Модератор
![]() |
|
07.11.2018, 13:12 | 17 |
Имейте ввиду, обращение к элементам массива (в том числе списочного типа List) по индексу чревато ошибками времени исполнения. Без явной необходимости такого лучше не делать. А если приходится, то надо проверять массив на существование и на соответствие индекса размеру массива.
Так как, в массиве у Вас объекты, то лучше их извлекать по проверке на свойства.
1
|
1 / 1 / 0
Регистрация: 18.02.2016
Сообщений: 71
|
|
07.11.2018, 13:22 [ТС] | 18 |
Мне так тяжело понять. Если мне нужно их извлечь, то как это правильно сделать и как их проверить их на свойства? Можно пример?
0
|
Модератор
![]() |
||||||||||||||||
07.11.2018, 13:48 | 19 | |||||||||||||||
Для предприятия не получится, так как у Вас нет такого класса. Объявите его - допустим, с название Company. Будет проще.
Примеры для текущего кода. Ищем на нулевом и первом предприятиях отдел "dc1"
Во все свои классы добавьте дополнительное свойство string ID - это будет идентификатор - уникальное поле по которому однозначно можно идентифицировать объект.
1
|
1 / 1 / 0
Регистрация: 18.02.2016
Сообщений: 71
|
||||||
07.11.2018, 13:57 [ТС] | 20 | |||||
Спасибо, теперь понятно.
И последний вопрос. Сейчас искал информацию в интернете и ничего не нашёл. Везде только как вывести целый список. Мне опять же надо вывести элемент по индексу, но теперь в список.
0
|
07.11.2018, 13:57 | |
Помогаю со студенческими работами здесь
20
Что предпочтительней в плане быстродействия и работы с памятью: List<List<string>> - new или .Clear()
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |