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

Нажмите для полного просмотра!
Коллекции и классы-прототипы. Обобщения, слайд №1 Коллекции и классы-прототипы. Обобщения, слайд №2 Коллекции и классы-прототипы. Обобщения, слайд №3 Коллекции и классы-прототипы. Обобщения, слайд №4 Коллекции и классы-прототипы. Обобщения, слайд №5 Коллекции и классы-прототипы. Обобщения, слайд №6 Коллекции и классы-прототипы. Обобщения, слайд №7 Коллекции и классы-прототипы. Обобщения, слайд №8 Коллекции и классы-прототипы. Обобщения, слайд №9 Коллекции и классы-прототипы. Обобщения, слайд №10 Коллекции и классы-прототипы. Обобщения, слайд №11 Коллекции и классы-прототипы. Обобщения, слайд №12 Коллекции и классы-прототипы. Обобщения, слайд №13 Коллекции и классы-прототипы. Обобщения, слайд №14 Коллекции и классы-прототипы. Обобщения, слайд №15 Коллекции и классы-прототипы. Обобщения, слайд №16 Коллекции и классы-прототипы. Обобщения, слайд №17 Коллекции и классы-прототипы. Обобщения, слайд №18 Коллекции и классы-прототипы. Обобщения, слайд №19 Коллекции и классы-прототипы. Обобщения, слайд №20 Коллекции и классы-прототипы. Обобщения, слайд №21 Коллекции и классы-прототипы. Обобщения, слайд №22 Коллекции и классы-прототипы. Обобщения, слайд №23 Коллекции и классы-прототипы. Обобщения, слайд №24 Коллекции и классы-прототипы. Обобщения, слайд №25

Содержание

Вы можете ознакомиться и скачать презентацию на тему Коллекции и классы-прототипы. Обобщения. Доклад-сообщение содержит 25 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1


Коллекции и классы-прототипы. Обобщения, слайд №1
Описание слайда:

Слайд 2


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

Слайд 3


Пример
Описание слайда:
Пример

Слайд 4


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

Слайд 5


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

Слайд 6


Коллекции В C# коллекция представляет собой совокупность объектов. В среде .NET Framework имеется немало интерфейсов и классов, в которых...
Описание слайда:
Коллекции В 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: является основой для всех необобщенных коллекций, определяет основные методы и свойства для всех необобщенных...
Описание слайда:
Необобщенные коллекции 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: класс...
Описание слайда:
Классы необобщенных коллекций ArrayList: класс простой коллекции объектов. Реализует интерфейсы IList, ICollection, IEnumerable BitArray: класс коллекции, содержащей массив битовых значений. Реализует интерфейсы ICollection, IEnumerable Hashtable: класс коллекции, представляющей хэш-таблицу и храняющий набор пар "ключ-значение" Queue: класс очереди объектов, работающей по алгоритму FIFO("первый вошел -первый вышел"). Реализует интерфейсы ICollection, IEnumerable SortedList: класс коллекции, хранящей наборы пар "ключ-значение", отсортированных по ключу. Реализует интерфейсы ICollection, IDictionary, IEnumerable Stack: класс стека

Слайд 11


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

Слайд 12


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

Слайд 13


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

Слайд 14


Список List Среди его методов можно выделить следующие: void Add(T item): добавление нового элемента в список void AddRange(ICollection collection):...
Описание слайда:
Список List Среди его методов можно выделить следующие: 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 представляет двухсвязный список, в котором каждый элемент хранит ссылку одновременно на следующий и на...
Описание слайда:
Двухсвязный список LinkedList Класс LinkedList представляет двухсвязный список, в котором каждый элемент хранит ссылку одновременно на следующий и на предыдущий элемент. Если в простом списке List каждый элемент представляет объект типа T, то в LinkedList каждый узел представляет объект класса LinkedListNode. Этот класс имеет следующие свойства: Value: само значение узла, представленное типом T Next: ссылка на следующий элемент типа LinkedListNode в списке. Если следующий элемент отсутствует, то имеет значение null Previous: ссылка на предыдущий элемент типа LinkedListNode в списке. Если предыдущий элемент отсутствует, то имеет значение null

Слайд 16


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

Слайд 17


Двухсвязный список LinkedList
Описание слайда:
Двухсвязный список LinkedList

Слайд 18


Очередь Queue У класса Queue можно отметить следующие методы: Dequeue: извлекает и возвращает первый элемент очереди Enqueue: добавляет элемент в...
Описание слайда:
Очередь Queue У класса Queue можно отметить следующие методы: Dequeue: извлекает и возвращает первый элемент очереди Enqueue: добавляет элемент в конец очереди Peek: просто возвращает первый элемент из начала очереди без его удаления

Слайд 19


Очередь Queue Queue numbers = new Queue(); numbers.Enqueue(3); // очередь 3 numbers.Enqueue(5); // очередь 3, 5 numbers.Enqueue(8); // очередь 3, 5,...
Описание слайда:
Очередь Queue Queue numbers = new Queue(); 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 В классе Stack можно выделить два основных метода, которые позволяют управлять элементами: Push: добавляет элемент в стек на первое...
Описание слайда:
Коллекция Stack В классе Stack можно выделить два основных метода, которые позволяют управлять элементами: Push: добавляет элемент в стек на первое место Pop: извлекает и возвращает первый элемент из стека Peek: просто возвращает первый элемент из стека без его удаления

Слайд 21


Коллекция Stack Stack numbers = new Stack(); numbers.Push(3); // в стеке 3 numbers.Push(5); // в стеке 5, 3 numbers.Push(8); // в стеке 8, 5, 3 //...
Описание слайда:
Коллекция Stack Stack numbers = new Stack(); 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 Словарь хранит объекты, которые представляют пару ключ-значение. Каждый такой объект является объектом класса KeyValuePair....
Описание слайда:
Коллекция Dictionary Словарь хранит объекты, которые представляют пару ключ-значение. Каждый такой объект является объектом класса KeyValuePair. Благодаря свойствам Key и Value, которые есть у данного класса, мы можем получить ключ и значение элемента в словаре. Класс словарей также, как и другие коллекции, предоставляет методы Add и Remove для добавления и удаления элементов. Только в случае словарей в метод Add передаются два параметра: ключ и значение. А метод Remove удаляет не по индексу, а по ключу.

Слайд 23


Коллекция Dictionary Dictionary countries = new Dictionary(5); countries.Add(1, "Russia"); countries.Add(3, "Great Britain");...
Описание слайда:
Коллекция Dictionary Dictionary countries = new Dictionary(5); countries.Add(1, "Russia"); countries.Add(3, "Great Britain"); countries.Add(2, "USA"); countries.Add(4, "France"); countries.Add(5, "China"); foreach (KeyValuePair keyValue in countries) { Console.WriteLine(keyValue.Key + " - " + keyValue.Value); }

Слайд 24


Коллекция Dictionary Dictionary countries = new Dictionary(5); countries.Add(1, "Russia"); countries.Add(3, "Great Britain");...
Описание слайда:
Коллекция Dictionary Dictionary countries = new Dictionary(5); countries.Add(1, "Russia"); countries.Add(3, "Great Britain"); countries.Add(2, "USA"); countries.Add(4, "France"); countries.Add(5, "China"); foreach (KeyValuePair keyValue in countries) { Console.WriteLine(keyValue.Key + " - " + keyValue.Value); }

Слайд 25


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



Похожие презентации
Mypresentation.ru
Загрузить презентацию