Презентация Коллекции и классы-прототипы. Обобщения онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Коллекции и классы-прототипы. Обобщения абсолютно бесплатно. Урок-презентация на эту тему содержит всего 25 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Коллекции и классы-прототипы. Обобщения



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    25 слайдов
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    611.43 kB
  • Просмотров:
    74
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
Содержание слайда:

№2 слайд
Обобщения Начиная с версии
Содержание слайда: Обобщения  Начиная с версии .NET 2.0, язык программирования C# был расширен поддержкой средства, которое называется обобщением (generic). Термин обобщение означает параметризированный тип.

№3 слайд
Пример
Содержание слайда: Пример

№4 слайд
Свойства обобщений
Содержание слайда: Свойства обобщений Безопасность Обобщения автоматически обеспечивают типовую безопасность всех операций. Повторное использование двоичного кода "Разбухание" кода Поскольку определение обобщенного класса включается в сборку, создание на его основе конкретных классов специфических типов не приводит к дублированию кода в IL.

№5 слайд
Ограничение обобщений
Содержание слайда: Ограничение обобщений Указывая параметр типа, можно наложить определенное ограничение на этот параметр. class имя_класса<параметр_типа> where параметр_типа : ограничения { // ... class MyObj<T> where T : MyClass, IMyInterface, new() { // ...

№6 слайд
Коллекции В C коллекция
Содержание слайда: Коллекции В C# коллекция представляет собой совокупность объектов. В среде .NET Framework имеется немало интерфейсов и классов, в которых определяются и реализуются различные типы коллекций. Основной для большинства коллекций является реализация интерфейсов IEnumerable и IEnumerator. Благодаря такой реализации мы можем перебирать объекты в цикле foreach.

№7 слайд
Коллекции Коллекции упрощают
Содержание слайда: Коллекции Коллекции упрощают решение многих задач программирования благодаря тому, что предлагают готовые решения для создания целого ряда типичных, но порой трудоемких для разработки структур данных. Например, в среду .NET Framework встроены коллекции, предназначенные для поддержки динамических массивов, связных списков, стеков, очередей и хеш-таблиц. Коллекции являются современным технологическим средством, заслуживающим пристального внимания всех, кто программирует на C#. Первоначально существовали только классы необобщенных коллекций. Но с внедрением обобщений в версии C# 2.0 среда .NET Framework была дополнена многими новыми обобщенными классами и интерфейсами. Благодаря введению обобщенных коллекций общее количество классов и интерфейсов удвоилось. Вместе с библиотекой распараллеливания задач (TPL) в версии 4.0 среды .NET Framework появился ряд новых классов коллекций, предназначенных для применения в тех случаях, когда доступ к коллекции осуществляется из нескольких потоков. Нетрудно догадаться, что прикладной интерфейс Collections API составляет значительную часть среды .NET Framework.

№8 слайд
Типы коллекций Необобщенные
Содержание слайда: Типы коллекций Необобщенные коллекции Реализуют ряд основных структур данных, включая динамический массив, стек, очередь, а также словари, в которых можно хранить пары "ключ-значение". Классы и интерфейсы необобщенных коллекций находятся в пространстве имен System.Collections. Специальные коллекции Оперируют данными конкретного типа или же делают это каким-то особым образом. Специальные коллекции объявляются в пространстве имен System.Collections.Specialized. Поразрядная коллекция В прикладном интерфейсе Collections API определена одна коллекция с поразрядной организацией — это BitArray. Коллекция типа BitArray поддерживает поразрядные операции объявляется в пространстве имен System.Collections. Обобщенные коллекции Обеспечивают обобщенную реализацию нескольких стандартных структур данных, включая связные списки, стеки, очереди и словари. Обобщенные коллекции объявляются в пространстве имен System.Collections.Generic. Параллельные коллекции Поддерживают многопоточный доступ к коллекции. Это обобщенные коллекции, определенные в пространстве именSystem.Collections.Concurrent.

№9 слайд
Необобщенные коллекции
Содержание слайда: Необобщенные коллекции ICollection: является основой для всех необобщенных коллекций, определяет основные методы и свойства для всех необобщенных коллекций (например, метод CopyTo и свойство Count). Данный интерфейс унаследован от интерфейса IEnumerable, благодаря чему базовый интерфейс также реализуется всеми классами необобщенных коллекций IList: позволяет получать элементы коллекции по порядку. Также определяет ряд методов для манипуляции элементами. IComparer: определяет метод int Compare(object x, object y) для сравнения двух объектов IDictionary: определяет поведение коллекции, при котором она должна хранить объекты в виде пар ключ-значение IDictionaryEnumerator: определяет методы и свойства для перечислителя словаря IEqualityComparer: определяет два метода Equals и GetHashCode, с помощью которых два объекта сравниваются на предмет равенства IStructuralComparer: определяет метод Compare для структурного сравнения двух объектов: при таком сравнении сравниваются не ссылки на объекты, а непосредственное содержимое объектов IStructuralEquatable: позволяет провести структурное равенство двух объектов. Как и в случае с интерфейсом IStructuralComparer сравнивается содержимое двух объектов

№10 слайд
Классы необобщенных коллекций
Содержание слайда: Классы необобщенных коллекций ArrayList: класс простой коллекции объектов. Реализует интерфейсы IList, ICollection, IEnumerable BitArray: класс коллекции, содержащей массив битовых значений. Реализует интерфейсы ICollection, IEnumerable Hashtable: класс коллекции, представляющей хэш-таблицу и храняющий набор пар "ключ-значение" Queue: класс очереди объектов, работающей по алгоритму FIFO("первый вошел -первый вышел"). Реализует интерфейсы ICollection, IEnumerable SortedList: класс коллекции, хранящей наборы пар "ключ-значение", отсортированных по ключу. Реализует интерфейсы ICollection, IDictionary, IEnumerable Stack: класс стека

№11 слайд
ArrayList Предназначен для
Содержание слайда: ArrayList Предназначен для хранения разнотипных объектов(int, bool, string, decimal)

№12 слайд
Обобщенные коллекции Классы
Содержание слайда: Обобщенные коллекции Классы обобщенных коллекций находятся в пространстве имен System.Collections.Generic. Рассмотрим основные интерфейсы обобщенных коллекций: IEnumerable<T>: определяет метод GetEnumerator, с помощью которого можно получать элементы любой коллекции IEumerator<T>: определяет методы, с помощью которых потом можно получить содержимое коллекции по очереди ICollection<T>: представляет ряд общих свойств и методов для всех необобщенных коллекций (например, методы CopyTo, Add, Remove, Contains, свойство Count) IList<T>: предоставляет функционал для создания последовательных списков IComparer<T>: определяет метод Compare для сравнения двух однотипных объектов IDictionary<TKey, TValue>: определяет поведение коллекции, при котором она должна хранить объекты в виде пар ключ-значение IEqualityComparer<T>: определяет методы, с помощью которых два однотипных объекта сравниваются на предмет равенства

№13 слайд
Классы обобщенных коллекций
Содержание слайда: Классы обобщенных коллекций Эти интерфейсы реализуются следующими классами коллекций в пространстве имен System.Collections.Generic: List<T>: класс, представляющий последовательный список. Реализует интерфейсы IList<T>, ICollection<T>, IEnumerable<T> Dictionary<TKey, TValue>: класс коллекции, хранящей наборы пар "ключ-значение". Реализует интерфейсы ICollection<T>, IEnumerable<T>, IDictionary<TKey, TValue> LinkedList<T>: класс двухсвязанного списка. Реализует интерфейсы ICollection<T> и IEnumerable<T> Queue<T>: класс очереди объектов, работающей по алгоритму FIFO("первый вошел -первый вышел"). Реализует интерфейсы ICollection, IEnumerable<T> SortedSet<T>: класс отсортированной коллекции однотипных объектов. Реализует интерфейсы ICollection<T>, ISet<T>, IEnumerable<T> SortedList<TKey, TValue>: класс коллекции, хранящей наборы пар "ключ-значение", отсортированных по ключу. Реализует интерфейсы ICollection<T>, IEnumerable<T>, IDictionary<TKey, TValue> SortedDictionary<TKey, TValue>: класс коллекции, хранящей наборы пар "ключ-значение", отсортированных по ключу. В общем похож на класс SortedList<TKey, TValue>, основные отличия состоят лишь в использовании памяти и в скорости вставки и удаления Stack<T>: класс стека однотипных объектов. Реализует интерфейсы ICollection<T> и IEnumerable<T>

№14 слайд
Список List lt T gt Среди его
Содержание слайда: Список List<T> Среди его методов можно выделить следующие: void Add(T item): добавление нового элемента в список void AddRange(ICollection collection): добавление с список коллекции или массива int BinarySearch(T item): бинарный поиск элемента в списке. Если элемент найден, то метод возвращает индекс этого элемента в коллекции. При этом список должен быть отсортирован. int IndexOf(T item): возвращает индекс первого вхождения элемента в списке void Insert(int index, T item): вставляет элемент item в списке на позицию index bool Remove(T item): удаляет элемент item из списка, и если удаление прошло успешно, то возвращает true void RemoveAt(int index): удаление элемента по указанному индексу index void Sort(): сортировка списка

№15 слайд
Двухсвязный список LinkedList
Содержание слайда: Двухсвязный список LinkedList<T> Класс LinkedList<T> представляет двухсвязный список, в котором каждый элемент хранит ссылку одновременно на следующий и на предыдущий элемент. Если в простом списке List<T> каждый элемент представляет объект типа T, то в LinkedList<T> каждый узел представляет объект класса LinkedListNode<T>. Этот класс имеет следующие свойства: Value: само значение узла, представленное типом T Next: ссылка на следующий элемент типа LinkedListNode<T> в списке. Если следующий элемент отсутствует, то имеет значение null Previous: ссылка на предыдущий элемент типа LinkedListNode<T> в списке. Если предыдущий элемент отсутствует, то имеет значение null

№16 слайд
Двухсвязный список LinkedList
Содержание слайда: Двухсвязный список LinkedList<T> Используя методы класса LinkedList<T>, можно обращаться к различным элементам, как в конце, так и в начале списка: AddAfter(LinkedListNode<T> node, T value): вставляет в список новый узел со значением value после узла node. AddBefore(LinkedListNode<T> node, T value): вставляет в список новый узел со значением value перед узлом node. AddFirst(T value): вставляет новый узел со значением value в начало списка AddLast(T value): вставляет новый узел со значением value в конец списка RemoveFirst(): удаляет первый узел из списка. После этого новым первым узлом становится узел, следующий за удаленным RemoveLast(): удаляет последний узел из списка

№17 слайд
Двухсвязный список LinkedList
Содержание слайда: Двухсвязный список LinkedList<T>

№18 слайд
Очередь Queue lt T gt У
Содержание слайда: Очередь Queue<T> У класса Queue<T> можно отметить следующие методы: Dequeue: извлекает и возвращает первый элемент очереди Enqueue: добавляет элемент в конец очереди Peek: просто возвращает первый элемент из начала очереди без его удаления

№19 слайд
Очередь Queue lt T gt Queue
Содержание слайда: Очередь Queue<T> Queue<int> numbers = new Queue<int>();               numbers.Enqueue(3); // очередь 3             numbers.Enqueue(5); // очередь 3, 5             numbers.Enqueue(8); // очередь 3, 5, 8               // получаем первый элемент очереди             int queueElement = numbers.Dequeue(); //теперь очередь 5, 8             Console.WriteLine(queueElement);

№20 слайд
Коллекция Stack lt T gt В
Содержание слайда: Коллекция Stack<T> В классе Stack можно выделить два основных метода, которые позволяют управлять элементами: Push: добавляет элемент в стек на первое место Pop: извлекает и возвращает первый элемент из стека Peek: просто возвращает первый элемент из стека без его удаления

№21 слайд
Коллекция Stack lt T gt Stack
Содержание слайда: Коллекция Stack<T> Stack<int> numbers = new Stack<int>();   numbers.Push(3); // в стеке 3 numbers.Push(5); // в стеке 5, 3 numbers.Push(8); // в стеке 8, 5, 3   // так как вверху стека будет находиться число 8, то оно и извлекается int stackElement = numbers.Pop(); // в стеке 5, 3             Console.WriteLine(stackElement);

№22 слайд
Коллекция Dictionary lt T, V
Содержание слайда: Коллекция Dictionary<T, V> Словарь хранит объекты, которые представляют пару ключ-значение. Каждый такой объект является объектом класса KeyValuePair<TKey, TValue>. Благодаря свойствам Key и Value, которые есть у данного класса, мы можем получить ключ и значение элемента в словаре. Класс словарей также, как и другие коллекции, предоставляет методы Add и Remove для добавления и удаления элементов. Только в случае словарей в метод Add передаются два параметра: ключ и значение. А метод Remove удаляет не по индексу, а по ключу.

№23 слайд
Коллекция Dictionary lt T, V
Содержание слайда: Коллекция Dictionary<T, V> Dictionary<int, string> countries = new Dictionary<int, string>(5); countries.Add(1, "Russia"); countries.Add(3, "Great Britain"); countries.Add(2, "USA"); countries.Add(4, "France"); countries.Add(5, "China");            foreach (KeyValuePair<int, string> keyValue in countries) {     Console.WriteLine(keyValue.Key + " - " + keyValue.Value); }

№24 слайд
Коллекция Dictionary lt T, V
Содержание слайда: Коллекция Dictionary<T, V> Dictionary<int, string> countries = new Dictionary<int, string>(5); countries.Add(1, "Russia"); countries.Add(3, "Great Britain"); countries.Add(2, "USA"); countries.Add(4, "France"); countries.Add(5, "China");          foreach (KeyValuePair<int, string> keyValue in countries) {     Console.WriteLine(keyValue.Key + " - " + keyValue.Value); }

№25 слайд
Коллекция Dictionary lt T, V
Содержание слайда: Коллекция Dictionary<T, V> Dictionary<char, Person> people = new Dictionary<char, Person>(); people.Add('b', new Person() { Name = "Bill" }); people.Add('t', new Person() { Name = "Tom" }); people.Add('j', new Person() { Name = "John" });   foreach (KeyValuePair<char, Person> keyValue in people) {     // keyValue.Value представляет класс Person     Console.WriteLine(keyValue.Key + " - " + keyValue.Value.Name); }

Скачать все slide презентации Коллекции и классы-прототипы. Обобщения одним архивом: