Требуется написать программу на языке C# с кратким объяснением в тексте самой программы для упрощения понимания текста программы:
1. Создать абстрактный класс Realty с функциями, позволяющими вывести на экран информацию об объектах недвижимости, а также определить соответствие записи критерию поиска.
2. В абстрактном классе Realty реализовать метод CompareTo так, чтобы можно было отсортировать базу данных недвижимости по стоимости.
3. Создать производные классы: Apartment (площадь, количество комнат, адрес, этаж, наличие балкона), House (площадь, количество комнат, адрес, этажность, наличие гаража), Garage (площадь, количество машиномест, адрес).
4. Создать базу (массив) из n записей, вывести полную информацию из базы на экран, отсортировав базу данных недвижимости по стоимости, а также организовать поиск в базе по адресу (можно использовать упрощенный адрес - только район).