Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 706545)
Контекстум

Основы объектно ориентированного программирования на языке С# для продолжающих (500,00 руб.)

0   0
Первый авторРояк М. Э.
АвторыСтупаков И. М.
ИздательствоИзд-во НГТУ
Страниц100
ID948336
АннотацияНастоящее учебное пособие является продолжением учебного пособия «Основы объектно ориентированного программирования на языке С#. Базовые сведения о языке» и рассчитано на читателей, уже ознакомившихся с ним. В этой книге кратко изложены более сложные понятия языка, отличия стандартов, основные идеи и принципы ООП.
Кому рекомендованоУчебное пособие будет полезно студентам, обучающимся на факультете прикладной математики и информатики по дисциплинам «Основы объектно ориентированного программирования», «Современные технологии программирования».
ISBN978-5-7782-5407-7
УДК004.434 (075.8)
Рояк, М. Э. Основы объектно ориентированного программирования на языке С# для продолжающих : учебное пособие / И. М. Ступаков; М. Э. Рояк .— Новосибирск : Изд-во НГТУ, 2025 .— 100 с. — ISBN 978-5-7782-5407-7 .— URL: https://rucont.ru/efd/948336 (дата обращения: 08.09.2026)

Предпросмотр (выдержки из произведения)

Основы_логики_для_бизнес-информатиков._Отображения_и_отношения.pdf
УДК 004.434 (075.8) Р816 Рецензенты: канд. техн. наук А. Н. Игнатьев, канд. техн. наук, доцент Ю. В. Тракимус Работа подготовлена на кафедре прикладной математики P816 Основы объектно ориентированного программирования на языке С# для продолжающих: учебное пособие / М. Э. Рояк, И. М. Ступаков. – Новосибирск: Изд-во НГТУ, 2025. – 100 с. Рояк М. Э. ISBN 978-5-7782-5407-7 Настоящее учебное пособие является продолжением учебного пособия «Основы объектно ориентированного программирования на языке С#. Базовые сведения о языке» и рассчитано на читателей, уже ознакомившихся с ним. В этой книге кратко изложены более сложные понятия языка, отличия стандартов, основные идеи и принципы ООП. Учебное пособие будет полезно студентам, обучающимся на факультете прикладной математики и информатики по дисциплинам «Основы объектно ориентированного программирования», «Современные технологии программирования». УДК 004.434 (075.8) ISBN 978-5-7782-5407-7 © Рояк М. Э., Ступаков И. М., 2025 © Новосибирский государственный технический университет, 2025
Стр.2
ОГЛАВЛЕНИЕ 1. Основные принципы ООП .............................................................................................. 7 1.1. Инкапсуляция ....................................................................................................... 7 1.2. Наследование и полиморфизм ........................................................................... 7 1.3. Абстракция ........................................................................................................... 8 1.4. Пример, поясняющий принципы ООП .............................................................. 8 1.5. Принципы SOLID .............................................................................................. 10 2. Коллекции ....................................................................................................................... 12 2.1. Интерфейсы коллекций ..................................................................................... 12 2.1.1. Интерфейс ICollection ........................................................................... 12 2.1.2. Интерфейс IReadOnlyCollection ..................................................... 13 2.1.3. Интерфейс IList ...................................................................................... 13 2.1.4. Интерфейс IReadOnlyList ............................................................... 13 2.1.5. Интерфейс ISet ....................................................................................... 14 2.1.6. Интерфейс IReadOnlySet ....................................................................... 14 2.1.7. Интерфейс IDictionary ...................................................... 15 2.1.8. Интерфейс IReadOnlyDictionary ...................................... 15 2.2. Коллекция List ............................................................................................ 16 2.3. Коллекции Stack и Queue ................................................................... 19 2.4. Коллекция LinkedList ................................................................................. 20 2.5. Коллекция SortedSet ................................................................................... 21 2.6. Коллекция HashSet ..................................................................................... 22 2.7. Коллекция Dictionary ............................................................. 23 2.8. Коллекция SortedDictionary ................................................... 24 2.9. Потокобезопасные коллекции .......................................................................... 24 2.9.1. Коллекция ConcurrentBag .................................................................... 25 2.9.2. Коллекция ConcurrentQueue ................................................................ 25 2.9.3. Коллекция ConcurrentStack .................................................................. 26 2.9.4. Коллекция ConcurrentDictionary ..................................... 26 2.10. Неизменяемые коллекции ............................................................................... 27 3. LINQ ................................................................................................................................ 29 3.1. Синтаксис языка запросов ................................................................................ 30 3.1.1. Оператор from ............................................................................................... 30 3.1.2. Оператор where ............................................................................................. 31 3.1.3. Оператор select .............................................................................................. 31 3.1.4. Оператор group ............................................................................................. 31 3.1.5. Ключевое слово into ..................................................................................... 32 3
Стр.3
3.1.6. Оператор orderby .......................................................................................... 32 3.1.7. Оператор join ................................................................................................. 33 3.1.8. Оператор let ................................................................................................... 34 3.2. Основные методы расширения ........................................................................ 34 3.2.1. Метод Aggregate ............................................................................................ 36 3.2.2. Метод All ........................................................................................................ 37 3.2.3. Метод Any ...................................................................................................... 37 3.2.4. Метод Append ................................................................................................ 37 3.2.5. Метод Cast ..................................................................................................... 37 3.2.6. Метод Chunk .................................................................................................. 37 3.2.7. Метод Concat ................................................................................................. 38 3.2.8. Метод Contains .............................................................................................. 38 3.2.9. Методы Count и LongCount .......................................................................... 38 3.2.10. Метод DefaultIfEmpty .................................................................................. 38 3.2.11. Методы Distinct и DistinctBy ...................................................................... 38 3.2.12. Методы ElementAt и ElementAtOrDefault .................................................. 39 3.2.13. Методы Except и ExceptBy ......................................................................... 39 3.2.14. Методы First и FirstOrDefault ................................................................... 39 3.2.15. Методы Intersect и IntersectBy ................................................................... 40 3.2.16. Методы Last и LastOrDefault ..................................................................... 40 3.2.17. Метод OfType .............................................................................. 40 3.2.18. Метод Prepend ............................................................................................. 40 3.2.19. Метод Reverse .............................................................................................. 40 3.2.20. Метод Select ................................................................................................. 40 3.2.21. Метод SelectMany ........................................................................................ 41 3.2.22. Методы Single и SingleOrDefault ............................................................... 41 3.2.23. Методы Skip, SkipLast, SkipWhile ............................................................... 41 3.2.24. Методы Take, TakeLast, TakeWhile ............................................................ 41 3.2.25. Методы Union и UnionBy ........................................................................... 42 3.2.26. Метод Where ................................................................................................ 42 3.2.27. Метод Zip ..................................................................................................... 42 3.3. Дополнительные статические методы и методы расширения в Enumerable43 3.3.1. Метод AsEnumerable ..................................................................................... 43 3.3.2. Метод SequenceEqual .................................................................................... 43 3.3.3. Метод TryGetNonEnumeratedCount ............................................................. 43 3.3.4. Методы ToArray и ToList .............................................................................. 43 3.3.5. Метод ToDictionary ....................................................................................... 44 3.3.6. Метод ToHashSet ........................................................................................... 44 3.3.7. Метод Range .................................................................................................. 44 4
Стр.4
3.3.8. Метод Repeat ................................................................................................. 44 4. Атрибуты и рефлексия .................................................................................................. 45 4.1. Применение атрибутов ...................................................................................... 45 4.2. Некоторые полезные атрибуты, интерпретируемые компилятором C# ...... 46 4.2.1. Сведения о вызывающем объекте ............................................................... 46 4.2.2. Атрибуты для анализа состояния со значением null ................................. 47 4.2.3. Атрибут Conditional ...................................................................................... 48 4.2.4. Атрибут Obsolete ........................................................................................... 49 4.2.5. Атрибут Experimental ................................................................................... 49 4.2.6. Атрибут SetsRequiredMembers ..................................................................... 49 4.3. Определение и использование собственных атрибутов ................................ 50 4.4. Некоторые возможности рефлексии ................................................................ 52 5. Работа с файлами и потоками ....................................................................................... 54 5.1. Базовый класс потоков Stream .......................................................................... 54 5.2. Создание потоков (открытие файлов) ............................................................. 55 5.2.1. Поток FileStream ........................................................................................... 55 5.2.2. Поток BufferedStream .................................................................................... 57 5.2.3. Поток MemoryStream .................................................................................... 57 5.3. Работа с потоками .............................................................................................. 57 5.3.1. BinaryReader и BinaryWriter ........................................................................ 57 5.3.2. StreamReader и StreamWriter ........................................................................ 58 5.3.3. Упрощенные методы работы с файлами .................................................... 58 6. Небезопасный код .......................................................................................................... 59 6.1. Указатели ............................................................................................................ 59 6.2. Оператор fixed .................................................................................................... 60 6.3. Оператор stackalloc ............................................................................................ 61 6.4. Подключение и вызов неуправляемых DLL ................................................... 62 7. Параллельное и асинхронное программирование ...................................................... 64 7.1. Использование PLINQ и класса Parallel из TPL ............................................ 65 7.2. Работа с задачами из TPL ................................................................................. 69 7.3. Основные методы и свойства класса Task ...................................................... 75 8. История развития языка ................................................................................................ 77 8.1. Версия 1.0 ........................................................................................................... 77 8.2. Версия 1.2 ........................................................................................................... 77 8.3. Версия 2.0 ........................................................................................................... 78 8.4. Версия 3.0 ........................................................................................................... 78 5
Стр.5
8.5. Версия 4.0 ........................................................................................................... 79 8.5.1. Тип dynamic ................................................................................................... 79 8.5.2. Класс ExpandoObject .................................................................................... 79 8.6. Версия 5.0 ........................................................................................................... 80 8.7. Версия 6.0 ........................................................................................................... 80 8.8. Версии 7.0-7.3 .................................................................................................... 81 8.9. Версия 8.0 ........................................................................................................... 82 8.10. Версия 9.0 ......................................................................................................... 82 8.11. Версия 10 .......................................................................................................... 83 8.12. Версия 11 .......................................................................................................... 84 8.13. Версия 12 .......................................................................................................... 85 8.14. Версия 13 .......................................................................................................... 85 9. Некоторые полезные возможности .............................................................................. 86 9.1. Сериализация в формат JSON .......................................................................... 86 9.2. Интерфейс командной строки dotnet ............................................................... 92 9.2.1. Команда new .................................................................................................. 92 9.2.2. Команда sln .................................................................................................... 93 9.2.3. Команда build ................................................................................................ 93 9.2.4. Команда run ................................................................................................... 94 9.2.5. Команда format .............................................................................................. 94 9.3. Unit-тестирование .............................................................................................. 94 9.4. BenchmarkDotNet ............................................................................................... 96 Список рекомендуемой литературы ................................................................................ 99
Стр.6

Облако ключевых слов *


* - вычисляется автоматически