Главная страница
Навигация по странице:

  • COMMUNITY .............................................................................................................. 8

  • Объектно-ориентированное программирование ................................ 18

  • C with classes

  • ыв. Учебно-методическое пособие Основы языка программирования C#. Платформа. Net framework и visual studio 2019 community


    Скачать 3.86 Mb.
    НазваниеПлатформа. Net framework и visual studio 2019 community
    Дата16.01.2020
    Размер3.86 Mb.
    Формат файлаpdf
    Имя файлаУчебно-методическое пособие Основы языка программирования C#.pdf
    ТипДокументы
    #104386
    страница1 из 5

    С этим файлом связано 1 файл(ов). Среди них: Методические пособие C# (1).pdf.
    Показать все связанные файлы
    Подборка по базе: 2_Microsoft Solutions Framework.ppt, Синхронизация потоков Visual Studio.docx, Лабораторная работа ВЛГУ по Привезенцеву Среда быстрой разработк, Monolithic frameworks in modern buildings.docx, Общие сведения об Entity Framework.docx, Методичка Visual C++.docx, 1. (Среда Visual Studio 2010).doc
      1   2   3   4   5

    3 ОГЛАВЛЕНИЕ ВВЕДЕНИЕ ....................................................................................................... 6
    ГЛАВА 1. ПЛАТФОРМА .NET FRAMEWORK И VISUAL STUDIO 2019

    COMMUNITY .............................................................................................................. 8 Что такое .NET Framework ....................................................................... 8
    Что такое CTS CLR CLS .......................................................................... 10 Как создать решение в Visual Studio 2019 Community ....................... 11 Обзор Visual Studio 2019 Community For Mac ..................................... 13 Добавление файлов кода ........................................................................ 14 Сохранение и восстановление решения. 15 Компиляция проекта ............................................................................... 16 Вопросы по теории .................................................................................... 17 ГЛАВА 2. ОСНОВЫ ПРОГРАММИРОВАНИЯ НА C# ........................... 18

    Объектно-ориентированное программирование ................................ 18
    Объектно-ориентированное мышление ................................................ 18 Структура программы на языке C# ...................................................... 21 Отладка программы ................................................................................ 21 Класс Console, вывод в консоль ............................................................. 23 Переменные и типы данных ................................................................... 26 Тип данных byte ...................................................................................... 28 Тип данных sbyte ..................................................................................... 28 Тип данных short ..................................................................................... 28 Тип данных ushort ................................................................................... 29 Тип данных int ......................................................................................... 29 Тип данных uint ....................................................................................... 29 Тип данных long ...................................................................................... 29 Тип данных ulong .................................................................................... 29 Тип данных float ...................................................................................... 29 Тип данных double .................................................................................. 30 Тип данных decimal ................................................................................. 31 Тип данных bool ...................................................................................... 31 Тип данных char ...................................................................................... 32 Тип данных string .................................................................................... 33 Класс Console, считывание из консоли ................................................. 38

    4 Класс Convert, конвертация типов ........................................................ 39 Операции над значениями ...................................................................... 41 Арифметические операции .................................................................... 41 Явное и неявное приведение типов ....................................................... 42 Сокращенная форма записи арифметических операций .................... 43 Инкремент и декремент .......................................................................... 44 Класс Math и тригонометрическая математика ................................... 44 Операции сравнения ............................................................................... 45 Логические операции .............................................................................. 46 Литералы .................................................................................................... 47 Неявно типизированные локальные переменные ............................. 48 Условные инструкции .............................................................................. 49 оператор условного перехода if ............................................................. 49 Инструкция switch ................................................................................... 53 Циклы .......................................................................................................... 54 Цикл while ................................................................................................ 54 Цикл do..while .......................................................................................... 56 Цикл for .................................................................................................... 57 Инструкции break и continue .................................................................. 58 Проекция теории о сущности, состоянии и поведении на язык C# 60 Тип данных int ......................................................................................... 60 Тип данных char ...................................................................................... 62 Тип данных string .................................................................................... 63 Прочие типы данных. 64 Вопросы по теории .................................................................................... 64 ГЛАВА 3. ПРОДВИНУТОЕ ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ C# 65
    Массивы ...................................................................................................... 65 Одномерные массивы ............................................................................. 65 Многомерные массивы ........................................................................... 67 Массив в массиве .................................................................................... 68 Перечисления ............................................................................................. 70 Структуры .................................................................................................. 73 Переопределение метода ToString ......................................................... 75 Конструкторы .......................................................................................... 76 Методы ..................................................................................................... 80

    5 Чертежи экземпляр. 82 Статические члены структур ................................................................. 84
    Парамететры методов с аргументом ref и out ...................................... 86 Инкапсуляция и модификаторы ............................................................ 89 Свойства ................................................................................................... 91 Вопросы по теории .................................................................................... 92 ЛИТЕРАТУРА ................................................................................................ 93 СВЕДЕНИЯ ОБ АВТОРАХ ........................................................................... 93

    6 ВВЕДЕНИЕ Программирование зародилось в х годах, когда был придуман первый низкоуровневый язык программирования Assembler. Это был сложный язык, требующий понимания работы архитектуры компьютера, для которого писалась программа. Программисты писали код, который нельзя было понять другому программисту, не зная сути задачи, приходилось вести полную документацию, процесс разработки ПО был долгими сложным. Но довольно быстро, в 1956 году, Американский ученый Джон Бэкус разработал другой – высокоуровневый язык программирования, который не требовал умения разбираться в низкоуровневых деталях архитектуры, это был язык FORTRAN. Вскоре язык распространился далеко за пределы Америки и появился в Европе и СССР. В Европе данный язык встретили с опаской по причине боязни доминирования Американской компании IBM на компьютерном рынке и потому стали трудиться над созданием аналогичного языка. Так был придуман язык высокоуровневого программирования ALGOL, который нашел популярность в Европе и СССР, ноне имел успеха в Америке. Программирование на языке ALGOL отличалось от FORTRANA не только синтаксически, но и концептуально. Язык ALGOL позволял реализовывать программу не как набор последовательных команда как блочную структуру, в которой каждый блок кода отделен друг от друга. Также были добавлены структурные две управляющие конструкции - циклы и ветвления, а также возможность передавать параметры по значению или ссылке. В будущем именно ALGOL станет прародителем многих других языков программирования. Так, например историческая цепочка языков программирования так или иначе связанных с ALGOL имеет следующую последовательность

    CPL – язык разработанный на базе ALGOL, имел больше возможностей, позволял намного легче разрабатывать другие компиляторы.

    BCPL - во многом тот же CPL, но обладающий некоторыми преимуществами и хорошей портируемостью.

    B – перенял многое от BCPL, нов отличии от него является интерпретируемым языком.

    C – потомок языка B, разработанный в 1973 году, первоначально был создан для реализации системы UNIX, но позже был перенесен на множество других платформ. Язык
    C имел высокую

    7 производительность и поддерживал язык Assembler, однако при этом был языком высокого уровня, благодаря чему стал весьма популярными используется посей день.

    C with classes – продолжение развитие языка C, 1980 год, теперь поддерживались классы и экземпляры, что позволяло создавать более гибкие программы.

    C++ - продолжение развития языка C with classes, 1985 год, теперь язык поддерживал виртуальные функции, перегрузки, операторы, ссылки, константы, управление памятью пользователем, проверка типов, комментарии и прочее. Изменения были настолько большими, что было решено переименовать C with classes в C++.

    ISO C++ - до этого момента все версии языка распространялись исключительно силами самого автора и лишь в 1998 году был ратифицирован международный стандарт языка C++ с некоторыми техническими исправлениями, теперь C++ назывался ISO C++.

    C# - язык программирования высокого уровня созданный компанией
    Microsoft в 2002 году, написан на языке C++, ноне являющийся его продолжением. Синтаксис языка похож на C++. Работает совместно с платформой .NET Framework и интеллектуальной средой разработки
    Visual Studio. С 2002 года язык C# активно развивается и на сегодняшний день C# является одним из популярных языков программирования на рынке труда. Язык C# избавляет программиста от прямой работы с памятью и архитектурой системы, этим будет управлять сам компилятора программист фокусируется на самой задаче. Последние версии языка C# и платформы .NET Framework позволяют писать кроссплатформенный код на Mac OS, Linux и Windows. Область применения языка C# достаточно широкая прикладные приложения, решения, разработка игр, мобильные приложения и прочее. Многие сторонние инструменты позволяют использовать C# как средство программирования, например игровой движок Unity позволяет разрабатывать игры с помощью C# на разные ОС, а Xamarin позволяет разрабатывать приложения для ОС Android и iOS.
    C# - это очень мощный язык основными преимуществами которого являются Исключительно объектно-ориентированное программирование. Управляемая память. Генерация кода за программиста (синтаксический сахар.

    8 Библиотека базовых классов. Прямое взаимодействие с другими языками, поддерживаемыми платформой .NET Framework. Диспетчер пакетов Nuget. Технология асинхронного программирования. Язык встроенных запросов – LINQ. Мощная IDE Visual Studio поставляемая бесплатно.

    Кроссплатформенное применение Также язык обладает и некоторыми недостатками Производительность кода в сравнении с C++ ниже, однако выше, чему многих других языков (Java Script, Python, Ruby on Rails и прочие) Необходимо устанавливать .NET Framework на компьютер, где должны работать программы. В сравнении с другими языками, C# является достаточно выразительным, гибкими производительным, что вкупе сего областью применения и компанией Microsoft за спиной делает его одним из актуальных языков в развитии которого не стоит сомневаться. ГЛАВА 1. ПЛАТФОРМА .NET FRAMEWORK И VISUAL
    STUDIO 2019 COMMUNITY Для того чтобы разрабатывать приложения на языке программирования
    C# необходимо установить Visual Studio 2019 Community. Скачать ее можно с официального сайта или по запросу "Download Visual Studio" в поисковике. Поддерживаются ОС Windows и Mac OS. В процессе установки будет предложено выбрать устанавливаемые дополнительно модули, необходимо выбрать модуль .NET Core и (если имеется) модуль .NET Framework. По завершению процесса Visual Studio будет готов для использования, ивы сможете разработать первый проект на языке C#, но перед этим необходимо познакомиться с платформой .NET Framework. Что такое .NET Framework В е годы, проблемой при разработке программного обеспечения ПО) в языках программирования были архитектура операционных систем (ОС) и управление памятью. Чтобы лучше распространять программы необходимо было компилировать их отдельно под хи х битные системы. Это было неудобно, так как не всегда обе версии программы будут работать одинаково сточки зрения производительности. К тому же библиотеки, используемые в вашей программе, могут по-разному работать в разных архитектурах, поэтому это требовало более внимательного отношения к себе от программиста. Ручное управление также могло оказаться головной болью если в большом проекте программист забыл уделить внимание очистке памяти, причем ошибки такого рода очень тяжело отследить и исправить. Чаще всего программа продолжает работать и потреблять все больше и больше памяти, что приводит к тому, что рано или поздно память кончается и приложение дает сбой. Разработчики языка C#, решили изначально избавить программиста от этих двух проблем. Решением было отказаться от запуска программы скомпилированного исполняемого файла) в ОС, а вместо этого запускать его в специальной промежуточной программе – то есть платформе. Задачами этой платформы являются Автоматическое управление памятью (освобождение памяти) вместо пользователя. Автоматическая компиляция в машинный код непосредственно в момент запуска программы, что позволит скомпилировать ее с учетом архитектуры системы. Платформа получила название .NET Framework. Аббревиатура .NET расшифровывается как "Native Executable Translation", что в переводе (с некоторыми технически верными поправками) означает "трансляция в исполняемый байт-код". Суть такого перевода заключается в том, что после того, как вы написали код программы и компилируете ваш проект, будет создан исполняемый файл, который содержит промежуточный кода не машинный. Такой исполняемый файл не может быть запущен в системе, в которой не установлен .NET Framework, так как система не умеет исполнять файлы с промежуточным или исходным кодом. Вместо этого исполняемый файл должен быть запущенна платформе .NET Framework, но делать это вручную не придется, потому что в случае с ОС Windows программа компилируется в файл с расширением "exe" и при запуске этого файла автоматически выполнит его на платформе .NET Framework, а в случае с UNIX или подобными системами при компиляции будет создан исполняемый файл который выполнит аналогичную работу. Промежуточный код называется кодом (Intermediate Language Code), а его компиляция в машинный будет выполнена с помощью компилятора
    (Just In Runtime Compiler), который отрабатывает в тот момент, когда вы попытаетесь запустить ваш исполняемый файл.

    10 Что такое CTS CLR CLS На самом деле .NET Framework – это целый комплекс программы взаимодействующих друг с другом, которых легче воспринимать как одну платформу для создания и выполнения программ. Создание и выполнение программ реализовано вокруг следующих трех технологий
    1. CTS – Common Types System, общеязыковая система типов.
    2. CLR – Common Language Runtime, Общеязыковая среда выполнения.
    3. CLS

    Common
    Language
    Specification,
    Общеязыковая спецификация.
    .NET Framework — это платформа, а C# - язык, использующий данную платформу. Но помимо языка C#, есть и другие языки, использующие платформу .NET Framework, например Visual Basic, F#, C++/CLI и прочие. Платформа .NET Framework определяет типы данных, а языки – способ использовать эти типы данных, поэтому каким бы языком вы не пользовались
    (C#, F#, C++/CLI и прочие) во всех этих языках будут одни и те же типы данных, совершенно никак не отличающиеся между языками. Это упрощает программирование на платформе .NET Framework, так как если вызнаете хотя бы один язык данной платформы, то с легкостью научитесь применять и другой. Такая технология называется общеязыковой системой типов (CTS). С другой стороны, на каком бы языке вы не писали код используя платформу .NET Framework, при компиляции всегда будет создан файл с промежуточным кодом и именно код запускается на платформе .NET
    Framework с помощью компилятора. Это означает что платформе .NET
    Framework без разницы какой язык вы используете, в результате она всегда будет работать с кодом. Это называется общеязыковой средой выполнения
    (CLR). Благодаря CTS ив реализована технология CLS. Ее суть в том, что разные языки могут взаимодействовать друг с другом напрямую, то есть, к примеру язык C# без проблем может вызвать функции, которые написаны на языке Visual Basic и наоборот. Это возможно благодаря тому, что все языки .NET Framework в конечном счете генерируют одинаковый по структуре код и выполняются водной и той же виртуальной машине. Несмотря на это, есть некоторые нюансы, которые надо учитывать, чтобы код, написанный на одном языке, был полностью совместим с кодом, написанным на другом языке. Что именно надо учитывать описывает общеязыковая спецификация (CLS) и если ее не соблюдать, то какие-то функции могут оказаться недоступны в другом языке.

    11 Как создать решение в Visual Studio 2019 Community Для того чтобы создать решение в Visual Studio for Mac 2019 Community нажмите на кнопку "создать" Рисунок 1.1. Окно приветствия Visual Studio. Далее в появившемся окне в левой колонке выбираем "Приложения" в разделе ".NET Core", а в центральной части окна выбираем "Консольное приложение" и нажимаем далее. .NET Core отличается от .NET Framework тем, что он является кроссплатформенным. Если вы обладатель Mac OS или Linux, то такой тип проекта - это лучший выбор если же вы обладатель системы
    Windows – можете выбирать консольный тип приложения для .NET Framework. В остальном между .NET Core и .NET Framework почти нет разницы. Рисунок 1.2. Выбор типа проекта.

    12 Вообще на языке C# можно создавать проекты разного типа (консольные, оконные и прочие, нов данном учебно-методическом пособии будут использоваться исключительно консольные типы приложений. Если вам будет предложено выбирать версию .NET Core или .NET
    Framework – выбирайте последнюю. Чем выше версия, тем больше типов данных в ней доступно, а значит вы сможете ими пользоваться и писать меньше кода. К слову, .NET Framework и .NET Core имеют свои отдельные версии, а язык C# - свои. То есть последняя версия .NET Framework на 2019 год это .NET
    Framework 4.8, а .NET Core это версия 3, однако у языка C# тоже есть свои версии и на 2019 год последней версией является C# 8. Версии .NET и C# сопоставлены друг другу, вам дана лишь возможность выбирать версию .NET, а версия C# будет выбрана автоматически. Чем выше версия C#, тем больше синтаксического сахара в нем доступно. Синтаксический сахар – это термин, подразумевающий замену вашего кода другим, более сложным, самим компилятором на этапе компиляции, что упрощает вам программирование. Другими словами, синтаксический сахар – это кодогенерация. Следующим окном на пути к созданию решения, будет окно, в котором предлагается ввести имя решения, имя проекта и расположение решения. Решение и проект отличаются друг от друга, но они связаны друг с другом. Решение – это корневая папка, внутри которой располагаются папки проекта. Водном решении бывает, как минимум один проект. В проектах вы создаете файлы с исходным кодом. Несколько проектов водном решении могут взаимодействовать друг с другом, нов данном пособии всегда будут использоваться решения с исключительно одним проектом. В действительности в большинстве случаев одного проекта достаточно, и только лишь в тяжелых боевых задачах может возникнуть потребность использовать более одного проекта в решении. Введите в качестве имени решения – "MySolution"; а в качестве имени проекта "MyProject" и нажмите создать. На самом деле имя решения и проекта может совпадать ив этом нет ничего страшного. Также если поставить галочку на "Создать каталог проекта в каталоге решения, то внутри решения не будет папки с названием проекта, файлы проекта будут находиться сразу в папке решения, это удобно, когда мы знаем, что у нас будет всего один проект в решении. Рисунок 1.3. Созданное решение.

    13 Обзор Visual Studio 2019 Community For Mac Теперь все готово для программирования, но сначала разберемся со средой разработки Visual Studio. Есть 2 версии Visual Studio: для Windows и для
    Mac OS. Обе сильно отличаются друг от друга, но только визуально, функционально же все очень похоже, поэтому если вы обладатель ОС Windows, не волнуйтесь, практически все что будет касаться обзора Visual Studio for Mac, подойдет и под Windows версию. В данном пособии рассматривается версия только для ОСИ так, в левой стороне находится панель решения, в ней отображены проекты и файлы с кодом. По сути, это почти тоже самое что и проводник или
    Finder в Windows ив соответственно, нов отличии от них, панель решения отображает вам только то, что вам нужно видеть как программисту, то есть она не отобразит вам файлы которые точно вам неинтересны при разработке программы. В заголовке окна Visual Studio можно нажать кнопку "Play" чтобы запустить свой код, если мы сделаем это прямо сейчас, то будет создано консольное окно ив нем запущена наша программа. Рисунок 1.4. Запущенная программа. Рядом с кнопкой "Play" есть кнопка "Debug", которую можно переключить в "Release". Это режим компиляции. В языке C# можно скомпилировать проект двумя способами
    1. Debug – в этом режиме в исполняемый файл попадает код который необходим для отладки уже скомпилированного приложения, то есть вы можете подключить Visual Studio к исполняемому файлу и выполнить его отладку в коде.

    14 2. Release – в этом режиме в исполняемый файл попадает только то что касается самой программы, то есть только то что вы написали. Отлаживать такие исполняемые файлы невозможно, однако они занимают меньше памяти и обладают большей производительностью. Также в основном меню есть пункт "Сборка – Компилировать все. Нажатие на эту кнопку приведет к компиляции исходного кода всех проектов каждый проект — это отдельный исполняемый файл) в исполняемые файлы на самом деле, как говорилось ранее, в промежуточный код, который автоматически будет запускаться в .NET Framework либо в .NET Core). Добавление файлов кода В языке C# принято новые структурные блоки кода писать в отдельных файлах. Чтобы добавить новый файл кода необходимо вызвать контекстное меню на проекте в панели решения слева и выбрать там "Добавить – Создать файл" Рисунок 1.5. Вызов контекстного меню для создания файла кода в проекте. Появится окно создания файла кода, в котором надо выбрать какой блок кода мы конкретно хотим создать, дать название файлу и блоку кода (делается водном поле) и нажать на кнопку "Создать.

    15 Рисунок 1.6. Выбор типа элемента для создания файла. В итоге в проекте будет создан файл с кодом который можно программировать. Рисунок 1.7. Созданный файл кода. Если следовать рекомендации, то пользовательские типы данных должны создаваться в отдельных файлах кода (как мы и сделали сейчас, но об этом еще рано говорить более детально, поэтому мы к этому вернемся в другой главе. Сохранение и восстановление решения Вы можете закрыть решение предварительно сохранив его (Файл - Сохранить) если больше не планируете работать с ним. Для это либо просто

    16 закройте Visual Studio (после сохранения, либо выберите пункт "Файл – Закрыть решение. Чтобы продолжить работать над решением (если оно было закрыто естественно, можно просто дважды щелкнуть по файлу с расширением "sln" в файловой системе в папке решения, либо загрузить этот файл из самой Visual
    Studio воспользовавшись окном приветствия, либо пунктом "Файл - Открыть. Рисунок 1.8. Файл решения "MySolution.sln". Как видим, в файловой системе в папке с решением есть сам файл решения, который представляет последнее сохраненное состояние решения. На самом деле не только данный файл хранит последнее сохраненное состояние решения, отчасти это состояние хранится в файлах в папке "obj". Поэтому нельзя редактировать или удалять файлы, которые Visual Studio создало автоматически, а потому, лучше пользоваться панелью решения внутри Visual
    Studio, так как в ней попросту нет доступа к таким файлами папкам. Компиляция проекта Когда в конце концов вы полностью написали программу, ее необходимо будет скомпилировать в исполняемый файл. Для этого выберите пункт "Сборка
    – Компилировать все, чтобы скомпилировать все проекты в исполняемые файлы, либо вызовите контекстное меню на проекте и выберите пункт "Сборка имя вашего проекта.

    17 Рисунок 1.9. Сборка проекта. В итоге в папке "bin\Debug\" либо "bin\Release", в зависимости оттого какой режим компиляции выбран, будет создан ваш исполняемый файл. Рисунок 1.10. Исполняемый файл (иконка консоли. Содержимое этой папки в зависимости от ОС и типа .NET может отличаться, нов любом случае будет сгенерирован исполняемый файл, с помощью которого программу можно запустить. Вопросы по теории

    1. Расскажите, как появился язык C#, какие языки ему предшествовали
    2. Что такое .NET Framework?
    3. Какие преимущества и недостатки есть у .NET Framework?
    4. Что такое CTS, CLR и CLS?
    5. Что такое код и компиляция
    6. Что такое решение и проект
    7. Как запускать программу на выполнение внутри Visual Studio?
    8. Как создавать новые файлы кода в Visual Studio?
    9. Как запускается исполняемый файл с кодом в системе

    18 ГЛАВА 2. ОСНОВЫ ПРОГРАММИРОВАНИЯ НА C# Структура программы в языке C# сильно отличается от многих других языков программирования. В языке
    C# объектно-ориентированное программирование (ООП) используется повсеместно, другими словами, язык
    C# — это полностью объектно-ориентированный язык. Поэтому, перед тем как приступить к изучению основ языка, надо разобраться в том, что такое ООП, и это очень важно.
      1   2   3   4   5


    написать администратору сайта