Поиск объекта в коллекции по определенному признаку - 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
Листинг программы
        public class Person { }
        public class A : Person { }
        public class B : Person { }
        unsafe static void Main(string[] args)
        {
            A a = new A();
            Console.WriteLine(a is A);
            Console.WriteLine(a is B);
        }

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


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

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

9   голосов , оценка 4.111 из 5
Похожие ответы