Содержание
- 2. Работа с наборами данных Как хранить и обрабатывать наборы данных? Массивы Коллекции
- 3. Массивы Ограничивается доступным размером памяти* Размер массива должен быть указан при его создании. Массивы могут хранить
- 4. Массивы Массив является индексированной коллекцией объектов. Одномерный массив объектов объявляется следующим образом. type[] arrayName;
- 5. Многомерный массив Концептуально, многомерный массив с двумя измерениями напоминает сетку (таблицу). Многомерный массив с тремя измерениями
- 6. Массив массивов Одним из вариантов многомерного массива является массив массивов. Массив массивов представляет собой одномерный массив,
- 7. Массив массивов Шаг 1: выделяем память под одномерный массив. int[][] jaggedArray = new int[3][]; Шаг 2:
- 8. Массив объектов Создание массива объектов в отличие от создания массива простых типов данных происходит в два
- 9. Массив объектов Создадим класс class Class1 {int x;} Теперь создадим массив от этого класса Class1[] mas
- 10. Другие коллекции Рассмотрим другие коллекции, часто используемые в программировании: ArrayList List Dictionary Stack Queue
- 11. Библиотеки с коллекциями Большая часть классов коллекций содержится в пространствах имен System.Collections, System.Collections.Generic и System.Collections.Specialized. Также
- 12. Основа коллекций Основой для создания всех коллекций является реализация интерфейсов IEnumerator и IEnumerable.
- 13. IEnumerator Интерфейс IEnumerator представляет перечислитель, с помощью которого становится возможен последовательный перебор коллекции, например, в цикле
- 14. IEnumerable Интерфейс IEnumerable через свой метод GetEnumerator предоставляет перечислитель всем классам, реализующим данный интерфейс. Поэтому интерфейс
- 15. 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}",
- 20. List Представляет строго типизированный список объектов, доступных по индексу. Класс List является универсальным эквивалентом класса ArrayList.
- 21. Что лучше Делая выбор между классами List и ArrayList, предлагающими сходные функциональные возможности, следует помнить, что
- 22. Варианты создания
- 23. Часто используемые свойства
- 24. Часто используемые методы
- 25. Пример List List cars = new List (); cars.Add("BMW"); cars.Add("Mersedes"); cars.Add("Ford Mustang"); cars.Add("Corvette"); cars.Add("Jaguar"); for (int
- 26. Queue Представляет коллекцию объектов, основанную на принципе "первым вошёл — первым вышел". (FIFO) Добавление элементов происходит
- 27. Варианты создания
- 28. Часто используемые свойства
- 29. Часто используемые методы
- 30. Как она реализована Этот класс реализует универсального очередь в виде циклического массива. Объекты, хранящиеся в Queue
- 31. Пример Queue numbers = new Queue (); 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());
- 32. Stack Представляет коллекцию переменного размера экземпляров одинакового заданного типа, обслуживаемую по принципу "последним пришел - первым
- 33. Варианты создания
- 34. Часто используемые свойства
- 35. Часто используемые методы
- 36. Пример Stack numbs = new Stack (); 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());
- 37. Что-когда используется? Очереди и стеки полезны, когда требуется временное хранилище для данных; Очередь Queue используют, когда
- 38. Dictionary Ассоциативная коллекция. Представляет собой набор пар ключ-значение.
- 39. Варианты создания (не все!)
- 40. Часто используемые свойства
- 41. Часто используемые методы
- 42. Словарь Dictionary Универсальный класс предоставляющий сопоставление из набора ключей для набора значений. Каждый ключ в Dictionary
- 43. Пример Dictionary dict = new Dictionary (); dict.Add("txt", "notepad.exe"); dict.Add("bmp", "paint.exe"); dict.Add("dib", "paint.exe"); dict.Add("rtf", "wordpad.exe"); foreach
- 44. foreach Оператор foreach повторяет группу вложенных операторов для каждого элемента массива или коллекции объектов, реализующих интерфейс
- 45. foreach foreach( in ) Нельзя использовать, если требуется изменять размер коллекции (добавлять или удалять из нее
- 46. Пример foreach (var kvp in dict) { Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value); }
- 47. Индексаторы Индексаторы позволяют индексировать экземпляры класса или структуры точно так же, как и массивы. Индексаторы напоминают
- 48. Пример Создадим класс, в нем массив (нам же нужно будет откуда-то брать элементы) и индексатор
- 49. Пример 2 Индексатор может принимать более одного параметра
- 50. Как сделать не получится Но реализовать индексатор типа «массив массивов» нельзя
- 51. Пример Не забудем про конструктор (к слову, зачем он нужен)
- 52. Как использовать Поработаем с одномерным индексатором
- 54. Скачать презентацию