С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
22 / 22 / 6
Регистрация: 24.03.2013
Сообщений: 119
1

Преобразование List<Child> to List<Parent> и обратно

27.05.2017, 23:28. Показов 3476. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, подскажите пожалуйста, как правильно реализовать преобразование списка объектов класса наследника в список объектов родителя и обратно, и будут ли при этом утеряны данные(возможно очень глупый вопрос)?
Например есть такая иерархия
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Entity
{
public Entity(string name)
{
 this.Name = name;
}
}
public class People : Entity
{
public People(string name):base(Name)
{
 this.Genre = "Male";
}
 
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.05.2017, 23:28
Ответы с готовыми решениями:

Linq преобразование List<List<double>> в List<Array>
Доброго времени суток, данный код нужно преобразовать linq выражениями и дописать выборку из ...

Преобразование list<type1> в list<type2>
Здравствуйте, недавно начал изучать с#. Накопилось много вопросов) но сейчас интересует один...

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

Из List в DataGridview и обратно
Здравствуйте. Есть List. Он заполнен классом с тремя текстовыми свойствами. Как можно быстро...

3
Эксперт .NET
12567 / 8741 / 1311
Регистрация: 21.01.2016
Сообщений: 32,776
28.05.2017, 05:03 2
DelphiXE3, зачем это понадобилось?..
0
22 / 22 / 6
Регистрация: 24.03.2013
Сообщений: 119
28.05.2017, 09:49  [ТС] 3
Usaga, для того чтобы создать универсальный список объектов которые можно будет сортировать по имени и понятное дело присваивать этому списку значение List<Child>.
У Entity будет несколько наследников Peolpe, Dog, Cat и т.д.
Подробнее:
C#
1
2
3
4
5
6
7
public IEnumerable<Entity> sortedList;
...................................................
        public void InitSortList(List<Entity> list)
        {
            
            sortedList = list;// инициализируем этот список используя List<Entity> list
        }
Хоть шарп и строго типизированный, я слышал что такое возможно сделать так как мы наследуем классы -- People явлется Entity. Но вот Entity по идее не знает ничего про People, может вы знаете как решить данную проблему, а то не хочется создавать кучу списков для сортировки объектов каждого класса.
0
3683 / 2594 / 719
Регистрация: 02.08.2011
Сообщений: 6,964
28.05.2017, 09:54 4
Цитата Сообщение от DelphiXE3 Посмотреть сообщение
может вы знаете как решить данную проблему
В строготипизированный List<Entity> вы можете добавить People, поскольку People тоже является Entity.
Это обычное наследование.
C#
1
2
3
4
List<Entity> list = new List<Entity>();
list.Add(new People("Greg"));
list.Add(new Entity("Entity"));
InitSOrtList(list);
0
28.05.2017, 09:54
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.05.2017, 09:54
Помогаю со студенческими работами здесь

Конвертировать из byte[] в List<object> и обратно
Софорумчане подскажите, а то совсем мозг не варит, начал так private byte...

Записать List<string> в XML и обратно
Здрасте помогите пожалуйста. Мне нужно вот что, создать XML файл через XDocument, а конкретно .....

Конвертировать из byte[] в List<string> и обратно
Добрых времени суток. Собственно как переветс List&lt;string&gt; в byte, а потом наоборот. Нужно это для...

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

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

Как узнать размерность внутреннего вектора в массиве List<List<Double>>?
Добрый вечер! Уважаемые, подскажите пожалуйста, как узнать размерность внутренних строк в...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Администрирован­­­ие Git, продвинутые техники работы с Git
InfoMaster 11.01.2025
Основы управления репозиторием Эффективное управление Git-репозиторием требует глубокого понимания механизмов контроля доступа и инструментов администрирования. Рассмотрим ключевые аспекты. . .
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru