Поиск объекта в коллекции по определенному признаку - C#

Узнай цену своей работы

Формулировка задачи:

Существует коллекция(ArrayList), в которой содержатся объекты 2-ух разных классов, но наследованных от одного родителя. Каждый из этих классов имеет свои поля. К примеру, есть родительский класс Person(Person не содержит полей). От него наследуются два дочерних класса:

1 класс(class_1):

  • имя(name)
  • год рождения(year)

2 класс(class_2):

  • возраст(age)
  • цвет волос(color)
Далее, необходимо организовать поиск объекта в коллекции по определённому признаку, будь то: или имя, или год рождения, или возраст, или цвет волос. Причем данный признак не обязательно есть у всех объектов коллекции. Например, мы ищем год рождения(year) 1995, но в коллекции объекты у которых нет поля год рождения(year), объекты class_2. Соответственно при поиске возникает ошибка: "Не удалось привести тип объекта class_1 к типу class_2". И тут возникает вопрос: как организовать "адекватный" поиск? Чтобы объекты, у которых нет соответствующих полей - игнорировались, а объекты, у которых есть эти поля - проверялись.

Решение задачи: «Поиск объекта в коллекции по определенному признаку»

textual
Листинг программы
  1.         public class Person { }
  2.         public class A : Person { }
  3.         public class B : Person { }
  4.         unsafe static void Main(string[] args)
  5.         {
  6.             A a = new A();
  7.             Console.WriteLine(a is A);
  8.             Console.WriteLine(a is B);
  9.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы