- •1.2 Понятия приложения, проекта, решения
- •1.3 Среда разработки Visual Studio .Net
- •1.4 Создание первого проекта
- •1. 5 Компиляция и выполнение программы в среде clr
- •2.1 Основы технологии ооп
- •2.2 Состав языка
- •2.3 Типы данных
- •2.4 Переменные и константы
- •2.5 Организация ввода-вывода данных. Форматирование
- •3.1 Некоторые операции с#
- •Отрицание:
- •Условная операция.
- •3.2 Выражения и преобразование типов
- •3.3 Перечень операций
- •3.4 Математические функции языка с#
- •4.1 Операторы следования
- •4.2 Операторы ветвления
- •4.3 Операторы цикла
- •4.4 Операторы безусловного перехода
- •5.1 Методы: основные понятия
- •5.2 Перегрузка методов
- •6.1 Прямая рекурсия
- •6.2 Косвенная рекурсия
- •7.1 Оператор try
- •7.2 Операторы checked и unchecked
- •7.3 Генерация собственных исключений
- •7.4 Приемы использования обработчиков исключений
- •8.1 Одномерные массивы
- •8.2 Массив как параметр
- •8.3 Массив как объект
- •8.4 Многомерные массивы
- •8.5 Ступенчатые массивы
- •8.6 Оператор foreach и его использование при работе с массивами
- •Примеры
- •9.1 Символы char
- •9.2 Неизменяемые строки string
- •9.3 Изменяемые строки
- •Вариант 1
- •Вариант 2
- •Редактирование текста;
- •10.1 Метасимволы в регулярных выражениях
- •10.2 Поиск в тексте по шаблону
- •10.3 Редактирование текста
- •11.1 Байтовый поток
- •11.2 Символьный поток
- •11.3 Двоичные потоки
- •11.4 Перенаправление стандартных потоков
- •Практикум
- •12.1.Работа с файловой системой: классы Directory и Filе и классы DirectoryInfo и FileInfo
- •12.2 Класс FileSystemInfo
- •12.3 Класс DirectoryInfo
- •12.4 Класс Directory
- •2. Реализуем метод, позволяющий получить по имени узла полное имя соответствующей папки
- •12.2 Работа с файлами
- •12.5 Класс File
- •13.1. Классы: основные понятия, данные, методы, конструкторы, свойства
- •13.2 Данные: поля и константы
- •13.3 Методы
- •Конструкторы экземпляра
- •13.4 Конструкторы класса
- •13.5 Свойства
- •13.6 Один класс - один файл
- •13.7. Классы: деструкторы, индексаторы Деструкторы
- •Индексаторы
- •13.8 Операции класса
- •14.1 Иерархия и наследование
- •Использование защищенного доступа
- •14.2 Наследование конструкторов
- •Позволяет вызвать конструктор базового класса:
- •Позволяет получить доступ к члену базового класса, который скрыт "за" членом производного класса.
- •14.3 Многоуровневая иерархия
- •14.4 Переменные базового класса и производного класса
- •14.5 Виртуальные методы
- •14.6 Абстрактные методы и классы
- •14.7 Запрет наследования
- •Самостоятельная работа
- •15.1. Пользовательские и стандартные интерфейсы
- •15.2 Стандартные интерфейсы .Net
- •15.3 Структуры
- •Задание
- •16.1. Классификация коллекций.
- •16.2 Коллекции общего назначения
- •16.3 Класс Stack
- •16.4 Класс Queue
- •16.5 Класс ArrayList
- •16.6 Класс Hashtable
- •17.1 Струткура простейшего windows-приложения
- •17.2 Элементы управления на форме
- •17.3 Обработка событий
- •17.4 Работа с элементами управления
- •17.5 Кнопки
- •17.6 Работа с элементами управления в режиме работы приложения
- •17.7 Работа со списками: ListBox, ComboBox, NumericUpDown.
- •17.8 Работа с переключателями: RadioButton, CheckBox
- •18.1 Рисование в форме
- •18.2 Работа с изображениями
Задание
Для получения дополнительной информации по данным интерфейсам обратитесь к дополнительной литературе, интернет и документации по С#
Лекция 16. Коллекции
16.1. Классификация коллекций.
В С# под коллекцией понимается некоторая группа объектов. Коллекции упрощают реализацию многих задач программирования, предлагая уже готовые решения для построения структур данных. Все коллекции разработаны на основе четко определенных интерфейсов, поэтому стандартизируют способ обработки группы объектов. Среда .NET Framework поддерживает три основных типа коллекций: общего назначения, специализированные и ориентированные на побитовую организацию данных.
Коллекции общего назначения определены в пространстве имен System.Collection и реализуют такие структуры данных, как стеки, очереди, динамические массивы, словари (хеш-таблицы, предназначенные для хранения пар ключ/значение), отсортированный список для хранения пар ключ/значение. Коллекции общего назначения работают с данными типа object, поэтому их можно использовать для хранения данных любого типа.
Коллекции специального назначения определены в пространстве имен System.Collection.Specialized и ориентированы на обработку данных конкретного типа или на обработку данных уникальным способом. Например, существуют специализированные коллекции, предназначенные только для обработки строк.
В пространстве имен System.Collection определена единственная коллекция, ориентированная на побитовую организацию данных, которая служит для хранения групп битов и поддерживает такой набор операций, который не характерен для коллекций других типов.
В данном разделе мы рассмотрим коллекции общего назначения.
16.2 Коллекции общего назначения
Классы коллекций общего назначения:
Класс |
Описание |
Stack |
Стек - частный случай однонаправленного списка, действующий по принципу: последним пришел - первым вышел |
Queue |
Очередь - частный случай однонаправленного списка, действующего по принципу:первым пришел - первым вышел |
ArrayList |
Динамический массив, т.е. массив который при необходимости может увеличивать свой размер |
Hashtable |
Хеш-таблица для пар ключ/значение |
SortedList |
Отсортированный список пар ключ/значение |
Рассмотрим данные коллекции более подробно.
Замечание. Абстрактный тип данных (АТД) список - это последовательность элементов a1, а2,…,аn (n 0) одного типа. Количество элементов n называется длиной списка. Если n > 0, то а1 называется первым элементом списка, а аn - последним элементом списка. В случае n = 0 имеем пустой список, который не содержит элементов. Важное свойство списка заключается в том, что его элементы линейно упорядочены в соответствии с их позицией в списке. Так элемент аi предшествует аi+1 для i=1, 2, …n-1 и аi следует за аi-1 для i=2, …n. Список называется однонаправленным, если каждый элемент списка содержит ссылку на следующий элемент. Если каждый элемент списка содержит две ссылки (одну на следующий элемент в списке, вторую - на предыдущий элемент), то такой список называется двунаправленным (двусвязным). А если последний элемент связать указателем с первым, то получится кольцевой список.