🗊Презентация Работа с наборами данных. Массивы. Коллекции (C#, лекция 4)

Нажмите для полного просмотра!
Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №1Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №2Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №3Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №4Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №5Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №6Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №7Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №8Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №9Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №10Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №11Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №12Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №13Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №14Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №15Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №16Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №17Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №18Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №19Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №20Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №21Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №22Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №23Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №24Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №25Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №26Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №27Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №28Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №29Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №30Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №31Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №32Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №33Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №34Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №35Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №36Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №37Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №38Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №39Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №40Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №41Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №42Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №43Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №44Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №45Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №46Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №47Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №48Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №49Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №50Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №51Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №52Работа с наборами данных. Массивы. Коллекции (C#, лекция 4), слайд №53

Содержание

Вы можете ознакомиться и скачать презентацию на тему Работа с наборами данных. Массивы. Коллекции (C#, лекция 4). Доклад-сообщение содержит 53 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





Лекция 4
Описание слайда:
Лекция 4

Слайд 2





Работа с наборами данных
Как хранить и обрабатывать наборы данных?
Описание слайда:
Работа с наборами данных Как хранить и обрабатывать наборы данных?

Слайд 3





Массивы
Ограничивается доступным размером памяти*
Размер массива должен быть указан при его создании. 
Массивы могут хранить как ссылочные типы, так и типы значений.
Описание слайда:
Массивы Ограничивается доступным размером памяти* Размер массива должен быть указан при его создании. Массивы могут хранить как ссылочные типы, так и типы значений.

Слайд 4





Массивы
Массив является индексированной коллекцией объектов. 
Одномерный массив объектов объявляется следующим образом.
		type[] arrayName;
Описание слайда:
Массивы Массив является индексированной коллекцией объектов. Одномерный массив объектов объявляется следующим образом. type[] arrayName;

Слайд 5





Многомерный массив
Концептуально, многомерный массив с двумя измерениями напоминает сетку (таблицу). 
Многомерный массив с тремя измерениями напоминает куб.
		type[,] arrayName;
Описание слайда:
Многомерный массив Концептуально, многомерный массив с двумя измерениями напоминает сетку (таблицу). Многомерный массив с тремя измерениями напоминает куб. type[,] arrayName;

Слайд 6





Массив массивов
Одним из вариантов многомерного массива является массив массивов. Массив массивов представляет собой одномерный массив, в котором каждый элемент является массивом. Элементы массива не обязаны иметь одинаковый размер.
			type[][] arrayName;
Описание слайда:
Массив массивов Одним из вариантов многомерного массива является массив массивов. Массив массивов представляет собой одномерный массив, в котором каждый элемент является массивом. Элементы массива не обязаны иметь одинаковый размер. type[][] arrayName;

Слайд 7





Массив массивов
Шаг 1: выделяем память под одномерный массив.
	int[][] jaggedArray = new int[3][];
Шаг 2: Для каждого элемента одномерного массива выделяем память под одномерный массив
	jaggedArray[0] = new int[5];
	jaggedArray[1] = new int[4];
	jaggedArray[2] = new int[2];
Описание слайда:
Массив массивов Шаг 1: выделяем память под одномерный массив. int[][] jaggedArray = new int[3][]; Шаг 2: Для каждого элемента одномерного массива выделяем память под одномерный массив jaggedArray[0] = new int[5]; jaggedArray[1] = new int[4]; jaggedArray[2] = new int[2];

Слайд 8





Массив объектов
Создание массива объектов в отличие от создания массива простых типов данных происходит в два этапа. 
Сначала необходимо объявить массив. 
А затем создать объекты для хранения в нем.
Описание слайда:
Массив объектов Создание массива объектов в отличие от создания массива простых типов данных происходит в два этапа. Сначала необходимо объявить массив. А затем создать объекты для хранения в нем.

Слайд 9





Массив объектов
Создадим класс
class Class1 {int x;}
Теперь создадим массив от этого класса
Class1[] mas = new Class1[10];
for(int i = 0; i < 10; ++i)
{
	mas[i] = new Class1();
}
Описание слайда:
Массив объектов Создадим класс class Class1 {int x;} Теперь создадим массив от этого класса Class1[] mas = new Class1[10]; for(int i = 0; i < 10; ++i) { mas[i] = new Class1(); }

Слайд 10





Другие коллекции
Рассмотрим другие коллекции, часто используемые в программировании:
Описание слайда:
Другие коллекции Рассмотрим другие коллекции, часто используемые в программировании:

Слайд 11





Библиотеки с коллекциями
Большая часть классов коллекций содержится в пространствах имен System.Collections, System.Collections.Generic и System.Collections.Specialized. 
Также для обеспечения параллельного выполнения задач и многопоточного доступа применяются классы коллекций из пространства имен System.Collections.Concurrent
Описание слайда:
Библиотеки с коллекциями Большая часть классов коллекций содержится в пространствах имен System.Collections, System.Collections.Generic и System.Collections.Specialized. Также для обеспечения параллельного выполнения задач и многопоточного доступа применяются классы коллекций из пространства имен System.Collections.Concurrent

Слайд 12





Основа коллекций
Основой для создания всех коллекций является реализация интерфейсов IEnumerator и IEnumerable.
Описание слайда:
Основа коллекций Основой для создания всех коллекций является реализация интерфейсов IEnumerator и IEnumerable.

Слайд 13





IEnumerator
Интерфейс IEnumerator представляет перечислитель, с помощью которого становится возможен последовательный перебор коллекции, например, в цикле foreach.
Описание слайда:
IEnumerator Интерфейс IEnumerator представляет перечислитель, с помощью которого становится возможен последовательный перебор коллекции, например, в цикле foreach.

Слайд 14





IEnumerable 
Интерфейс IEnumerable через свой метод GetEnumerator предоставляет перечислитель всем классам, реализующим данный интерфейс. 
Поэтому интерфейс IEnumerable (IEnumerable<T>) является базовым для всех коллекций.
Описание слайда:
IEnumerable Интерфейс IEnumerable через свой метод GetEnumerator предоставляет перечислитель всем классам, реализующим данный интерфейс. Поэтому интерфейс IEnumerable (IEnumerable<T>) является базовым для всех коллекций.

Слайд 15





ArrayList
Реализует интерфейс IList с помощью массива с динамическим изменением размера по требованию.
Описание слайда:
ArrayList Реализует интерфейс IList с помощью массива с динамическим изменением размера по требованию.

Слайд 16





Варианты создания
Описание слайда:
Варианты создания

Слайд 17





Часто используемые свойства
Описание слайда:
Часто используемые свойства

Слайд 18





Часто используемые методы
Описание слайда:
Часто используемые методы

Слайд 19





Пример
ArrayList array = new ArrayList();
array.Add("Hello");
array.Add('I');
array.Add(1);
Console.WriteLine("    Count:    {0}", array.Count);
Console.WriteLine("    Capacity: {0}", array.Capacity);
Console.Write("    Values:");
for(int i = 0; i < array.Count; ++i)
{
	Console.Write("    {0}", array[i]);
}
Описание слайда:
Пример ArrayList array = new ArrayList(); array.Add("Hello"); array.Add('I'); array.Add(1); Console.WriteLine(" Count: {0}", array.Count); Console.WriteLine(" Capacity: {0}", array.Capacity); Console.Write(" Values:"); for(int i = 0; i < array.Count; ++i) { Console.Write(" {0}", array[i]); }

Слайд 20





List
Представляет строго типизированный список объектов, доступных по индексу.
Класс List<T> является универсальным эквивалентом класса ArrayList. Он реализует универсальный интерфейс IList<T> с помощью массива, размер которого динамически увеличивается по мере необходимости.
Описание слайда:
List Представляет строго типизированный список объектов, доступных по индексу. Класс List<T> является универсальным эквивалентом класса ArrayList. Он реализует универсальный интерфейс IList<T> с помощью массива, размер которого динамически увеличивается по мере необходимости.

Слайд 21





Что лучше
Делая выбор между классами List<T> и ArrayList, предлагающими сходные функциональные возможности, следует помнить, что класс List<T> в большинстве случаев обрабатывается быстрее и является потокобезопасным. Если в качестве типа T класса List<T> используется ссылочный тип, оба класса действуют идентичным образом.
Описание слайда:
Что лучше Делая выбор между классами List<T> и ArrayList, предлагающими сходные функциональные возможности, следует помнить, что класс List<T> в большинстве случаев обрабатывается быстрее и является потокобезопасным. Если в качестве типа T класса List<T> используется ссылочный тип, оба класса действуют идентичным образом.

Слайд 22





Варианты создания
Описание слайда:
Варианты создания

Слайд 23





Часто используемые свойства
Описание слайда:
Часто используемые свойства

Слайд 24





Часто используемые методы
Описание слайда:
Часто используемые методы

Слайд 25





Пример List
List<string> cars = new List<string>();
cars.Add("BMW");
cars.Add("Mersedes");
cars.Add("Ford Mustang");
cars.Add("Corvette");
cars.Add("Jaguar");
for (int i = 0; i < cars.Count; ++i)
{
	Console.Write("    {0}", cars[i]);
}
Console.ReadKey();
Описание слайда:
Пример List List<string> cars = new List<string>(); cars.Add("BMW"); cars.Add("Mersedes"); cars.Add("Ford Mustang"); cars.Add("Corvette"); cars.Add("Jaguar"); for (int i = 0; i < cars.Count; ++i) { Console.Write(" {0}", cars[i]); } Console.ReadKey();

Слайд 26





Queue
Представляет коллекцию объектов, основанную на принципе "первым вошёл — первым вышел". (FIFO)
Добавление элементов происходит в конец списка. Извлечение из начала списка.
Описание слайда:
Queue Представляет коллекцию объектов, основанную на принципе "первым вошёл — первым вышел". (FIFO) Добавление элементов происходит в конец списка. Извлечение из начала списка.

Слайд 27





Варианты создания
Описание слайда:
Варианты создания

Слайд 28





Часто используемые свойства
Описание слайда:
Часто используемые свойства

Слайд 29





Часто используемые методы
Описание слайда:
Часто используемые методы

Слайд 30





Как она реализована
Этот класс реализует универсального очередь в виде циклического массива. Объекты, хранящиеся в Queue<T> вставляются с одной стороны, и извлекаются с другой.
Описание слайда:
Как она реализована Этот класс реализует универсального очередь в виде циклического массива. Объекты, хранящиеся в Queue<T> вставляются с одной стороны, и извлекаются с другой.

Слайд 31





Пример
Queue<string> numbers = new Queue<string>();
numbers.Enqueue("one");
numbers.Enqueue("two");
numbers.Enqueue("three");
numbers.Enqueue("four");
numbers.Enqueue("five");
Console.WriteLine(numbers.Peek());
Console.WriteLine(numbers.Dequeue());
Console.WriteLine(numbers.Dequeue());
Console.WriteLine(numbers.Peek());
Console.WriteLine(numbers.Peek());
Описание слайда:
Пример Queue<string> numbers = new Queue<string>(); numbers.Enqueue("one"); numbers.Enqueue("two"); numbers.Enqueue("three"); numbers.Enqueue("four"); numbers.Enqueue("five"); Console.WriteLine(numbers.Peek()); Console.WriteLine(numbers.Dequeue()); Console.WriteLine(numbers.Dequeue()); Console.WriteLine(numbers.Peek()); Console.WriteLine(numbers.Peek());

Слайд 32





Stack
Представляет коллекцию переменного размера экземпляров одинакового заданного типа, обслуживаемую по принципу "последним пришел - первым вышел" (LIFO).
Это означает, что новый элемент вставляется в начало и извлекается из начала.
Описание слайда:
Stack Представляет коллекцию переменного размера экземпляров одинакового заданного типа, обслуживаемую по принципу "последним пришел - первым вышел" (LIFO). Это означает, что новый элемент вставляется в начало и извлекается из начала.

Слайд 33





Варианты создания
Описание слайда:
Варианты создания

Слайд 34





Часто используемые свойства
Описание слайда:
Часто используемые свойства

Слайд 35





Часто используемые методы
Описание слайда:
Часто используемые методы

Слайд 36





Пример
Stack<string> numbs = new Stack<string>();
numbs.Push("one");
numbs.Push("two");
numbs.Push("three");
numbs.Push("four");
numbs.Push("five");
Console.WriteLine(numbs.Peek());
Console.WriteLine(numbs.Pop());
Console.WriteLine(numbs.Pop());
Console.WriteLine(numbs.Peek());
Console.WriteLine(numbs.Peek());
Описание слайда:
Пример Stack<string> numbs = new Stack<string>(); numbs.Push("one"); numbs.Push("two"); numbs.Push("three"); numbs.Push("four"); numbs.Push("five"); Console.WriteLine(numbs.Peek()); Console.WriteLine(numbs.Pop()); Console.WriteLine(numbs.Pop()); Console.WriteLine(numbs.Peek()); Console.WriteLine(numbs.Peek());

Слайд 37





Что-когда используется?
Очереди и стеки полезны, когда требуется временное хранилище для данных; 
Очередь Queue<T> используют, когда необходимо получить доступ к данным в том же порядке, в котором их сохранят. 
Стек Stack<T> используют, когда требуется доступ к данным в обратном порядке.
Описание слайда:
Что-когда используется? Очереди и стеки полезны, когда требуется временное хранилище для данных; Очередь Queue<T> используют, когда необходимо получить доступ к данным в том же порядке, в котором их сохранят. Стек Stack<T> используют, когда требуется доступ к данным в обратном порядке.

Слайд 38





Dictionary
Ассоциативная коллекция. Представляет собой набор пар ключ-значение.
Описание слайда:
Dictionary Ассоциативная коллекция. Представляет собой набор пар ключ-значение.

Слайд 39





Варианты создания (не все!)
Описание слайда:
Варианты создания (не все!)

Слайд 40





Часто используемые свойства
Описание слайда:
Часто используемые свойства

Слайд 41





Часто используемые методы
Описание слайда:
Часто используемые методы

Слайд 42





Словарь
Dictionary<TKey, TValue> Универсальный класс предоставляющий сопоставление из набора ключей для набора значений.
 Каждый ключ в Dictionary<TKey, TValue> должно быть уникальным
Описание слайда:
Словарь Dictionary<TKey, TValue> Универсальный класс предоставляющий сопоставление из набора ключей для набора значений. Каждый ключ в Dictionary<TKey, TValue> должно быть уникальным

Слайд 43





Пример
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("txt", "notepad.exe");
dict.Add("bmp", "paint.exe");
dict.Add("dib", "paint.exe");
dict.Add("rtf", "wordpad.exe");
foreach (KeyValuePair<string, string> kvp in dict)
{
	Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
}
Описание слайда:
Пример Dictionary<string, string> dict = new Dictionary<string, string>(); dict.Add("txt", "notepad.exe"); dict.Add("bmp", "paint.exe"); dict.Add("dib", "paint.exe"); dict.Add("rtf", "wordpad.exe"); foreach (KeyValuePair<string, string> kvp in dict) { Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value); }

Слайд 44





foreach
Оператор foreach повторяет группу вложенных операторов для каждого элемента массива или коллекции объектов, реализующих интерфейс System.Collections.IEnumerable или System.Collections.Generic.IEnumerable<T>.
Описание слайда:
foreach Оператор foreach повторяет группу вложенных операторов для каждого элемента массива или коллекции объектов, реализующих интерфейс System.Collections.IEnumerable или System.Collections.Generic.IEnumerable<T>.

Слайд 45





foreach
foreach(<тип элемента> <имя элемента> in <имя коллекции>)
Нельзя использовать, если требуется изменять размер коллекции (добавлять или удалять из нее элементы)!
Описание слайда:
foreach foreach(<тип элемента> <имя элемента> in <имя коллекции>) Нельзя использовать, если требуется изменять размер коллекции (добавлять или удалять из нее элементы)!

Слайд 46





Пример
foreach (var kvp in dict)
{
	Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
}
foreach(var car in cars)
{
	Console.Write("    {0}", car);
}
Описание слайда:
Пример foreach (var kvp in dict) { Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value); } foreach(var car in cars) { Console.Write(" {0}", car); }

Слайд 47





Индексаторы
Индексаторы позволяют индексировать экземпляры класса или структуры точно так же, как и массивы. 
Индексаторы напоминают свойства за исключением того, что их методы доступа принимают параметры.
Описание слайда:
Индексаторы Индексаторы позволяют индексировать экземпляры класса или структуры точно так же, как и массивы. Индексаторы напоминают свойства за исключением того, что их методы доступа принимают параметры.

Слайд 48





Пример
Создадим класс, в нем массив (нам же нужно будет откуда-то брать элементы) и индексатор
Описание слайда:
Пример Создадим класс, в нем массив (нам же нужно будет откуда-то брать элементы) и индексатор

Слайд 49





Пример 2
Индексатор может принимать более одного параметра
Описание слайда:
Пример 2 Индексатор может принимать более одного параметра

Слайд 50





Как сделать не получится
Но реализовать индексатор типа «массив массивов» нельзя
Описание слайда:
Как сделать не получится Но реализовать индексатор типа «массив массивов» нельзя

Слайд 51





Пример
Не забудем про конструктор (к слову, зачем он нужен)
Описание слайда:
Пример Не забудем про конструктор (к слову, зачем он нужен)

Слайд 52





Как использовать
Поработаем с одномерным индексатором
Описание слайда:
Как использовать Поработаем с одномерным индексатором

Слайд 53





Как использовать
И двумерный
Описание слайда:
Как использовать И двумерный



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