c sharp язык программирования обучение с нуля
Знакомство с C#
Приветствуем вас в ознакомительном разделе руководств по C#. Занятия начинаются с интерактивного кода, который можно запускать в браузере. Прежде чем приступить к интерактивным урокам, вы можете ознакомиться с основами C#, просмотрев серию видеороликов «C# для начинающих».
В первых занятиях с помощью небольших фрагментов кода объясняются основные понятия языка C#. Вы изучите основы синтаксиса C# и научитесь работать с такими типами данных, как строки, числа и логические значения. Вся серия интерактивна, и уже через считанные минуты вы будете писать и запускать собственный код. Для первых занятий не требуются какие-либо знания в области программировании или опыт работы с языком C#.
Эти руководства можно проходить в разных средах. В них описываются одни и те же основные понятия. Различие в том, где именно вы будете работать.
Все ознакомительные руководства, в которых используется пример приложения «Hello World», можно проходить в веб-браузере или в локальной среде разработки. В конце каждого руководства вам предлагается на выбор возможность пройти следующее занятие в браузере или на локальном компьютере. Чтобы настроить среду и продолжить изучение следующего руководства на компьютере, можно воспользоваться соответствующими ссылками.
Hello world
В руководстве Hello World вы создадите самую простую программу на C#. Вы ознакомитесь с типом string и способами работы с текстом. Можно также использовать схему обучения в Microsoft Learn или Jupyter в проекте Binder.
Числа в C#
Из руководства Числа в C# вы узнаете, как на компьютере хранятся числа и как выполнять вычисления с разными числовыми типами. Вы ознакомитесь с основами округления и научитесь выполнять математические вычисления с помощью C#. Это руководство можно изучить, используя локальный компьютер.
В этом руководстве предполагается, что вы уже прошли занятие Hello World.
Ветви и циклы
В руководстве Ветви и циклы представлены общие принципы организации ветвления кода в зависимости от значений, хранящихся в переменных. Вы узнаете, что такое поток управления, являющийся основой принятия решений и выбора различных действий в программах. Это руководство можно изучить, используя локальный компьютер.
В этом руководстве предполагается, что вы уже прошли занятия Hello World и Числа в C#.
Коллекция списков
Занятие Коллекция списков содержит обзор типа «Коллекция списков», в котором хранятся последовательности данных. Вы узнаете, как добавлять и удалять элементы, выполнять их поиск и сортировать списки. Вы ознакомитесь с различными типами списков. Это руководство можно изучить, используя локальный компьютер.
В этом руководстве предполагается, что вы уже прошли перечисленные выше занятия.
101 пример по LINQ
Для работы с этим примером требуется глобальный инструмент dotnet-try. После установки инструмента и клонирования репозитория try-samples можно изучить LINQ с помощью набора из 101 примера, которые можно запускать в интерактивном режиме. Вы можете исследовать различные способы отправки запросов к данным, исследования данных и преобразования последовательностей данных.
Hello World — интерактивный учебник по основам C#
Это руководство поможет в интерактивном изучении C#. С помощью браузера вы напишете код C# и сможете просмотреть результаты его компиляции и выполнения. Руководство содержит ряд задач, первой из которых будет написание программы Hello World. В рамках этих занятий вы ознакомитесь с основами языка C#.
Запуск первой программы C#
Запустите приведенный ниже код в интерактивном окне. Нажмите кнопку Перейти в режим фокусировки. Затем введите следующий блок кода в интерактивном окне и нажмите кнопку Выполнить:
Объявление и использование переменных
При помощи вашей первой программы на экран выводится string «Hello World!».
Вероятнее всего, при изучении C# (как и любого другого языка программирования) вы будете допускать ошибки в коде. Компилятор найдет эти ошибки и сообщит вам о них. Если результат содержит сообщения об ошибках, внимательно просмотрите пример кода и код в интерактивном окне, чтобы понять, что нужно исправить. Это упражнение поможет вам изучить структуру кода C#.
Функции первой программы ограничиваются выводом одного сообщения. Вы можете создавать более полезные программы с использованием переменных. Переменная — это символ, который вы можете использовать для выполнения одного и того же кода с разными значениями. Попробуем сделать это. Замените код, написанный в интерактивном окне, следующим:
Любой объявляемой переменной можно присваивать разные значения. Можно назначить переменной имя одного из ваших друзей. Добавьте эти две строки в интерактивном окне после уже добавленного вами кода. Обязательно сохраните объявление переменной aFriend и ее начальное присваивание.
Как вы могли заметить, слово Hello в двух последних сообщениях отсутствует. Исправим это. Измените строки, которые выводят сообщение, следующим образом:
Снова нажмите кнопку Выполнить, чтобы просмотреть результаты.
Вы уже использовали + для создания строк из переменных и констант. Но есть способ лучше. Вы можете поместить переменную между символами < и >, чтобы код C# заменял этот текст значением переменной.
Снова нажмите кнопку Выполнить, чтобы просмотреть результаты. Вместо «Hello
Учимся C#. Ведро первое.
.NET Framework Class Library — это набор классов на все случаи жизни.
Основы C#
Для удобного исполнения примеров рекомендую вам скачать бесплатный Visual Studio 2008 Express, а у кого траффик не казенный, то можете использовать #Develop — это OpenSource проект с открытым исходным кодом.
Начнём с немного боянного уже примера — Hello World!
где TargetFile.exe — это выходной файл, а SourceFile.cs — файл, где вы набрали вышенаписанный код.
Давайте разберём код, который мы написали.
using подключает пространство имён System, которое включает в себя методы ввода/вывода и нужные типы.
class HelloWorld — объявили новый класс, который мы обозвали как HelloWorld. Чуть позже я вам расскажу про классы более подробнее, а пока вам надо понять, что любая программа на C# состоит из классов.
Далее идёт метод Main() — это дверь для компилятора. Свою работу он будет начинать отсюда. Метод Main() обязателен для любой программы и его имя должно писаться именно так. В C# регистр имеет значение ;).
[модификатор] возвращаемый_тип ИмяМетода([параметр])
<
//тело метода
>
Вот как выглядят методы. Сначала идёт модификатор, затем надо указать тип данных, которые он будет возвращать, имя самого метода, а в скобках параметры, которые он принимает. Про всё это вы узнаете из будущих статей, а пока просто попытайтесь запомнить.
Квадратные скобки обозначают необязательные параметры. Модификаторы используются для указания особенностей вызова метода, например, откуда он может быть вызван.
Уроки C#
Изучение C# для начинающих / Урок #1 – Введение в язык C# с нуля
Видеоурок
Полезные ссылки:
Информация про язык C#
Язык C# был разработан компанией Microsoft и впервые он появился еще в 2000 году. С момента его появления прошло уже много лет. Язык перетерпел большое количество обновлений и нововведений. На сегодняшний день язык является одним из самых популярных и востребованных языков в мире.
Язык C# является объектно ориентированным языком программирования. Это означает, что каждый файл представляет из себя определенный класс. Что такое классы и что с ними делать мы об этом поговорим уже в следующих уроках.
Сам язык использует синтаксис, сильно напоминающий язык Си или же Java. Так на самом деле получилось не спроста. Язык C# хоть и является достаточно старым языком, но по сравнению с языками С++ и Си является ребенком.
Язык перенял многое от своих предшественников — языков C++, Delphi, Smalltalk и, в особенности, Java. При разработке С# были взяты лучшие моменты из всех этих языков. Например, C# в отличие от C++ не поддерживает множественное наследование классов. Так было решено по причине их неудобства использования.
После базового изучения c# для чайников, можно сразу перейти к углублённому изучению библиотек и смежных технологий. Большинство современных проектов пишутся с их привлечением, на чистом C# работают редко.
C# это объектно-ориентированный язык, который немало позаимствовал из С++ и Java. Для примера, С# обладает поддержкой наследственности, полиморфизма, повторной загрузки операторов, статической типизации. Такой подходит помогает в решении распространённых задач в сфере разработки крупных приложений, сохраняющих гибкость, расширяемость и масштабируемость. C# всё ещё развивается, после каждого дополнения в языке появляются новые функции, преимущественно довольно полезные. Среди них: асинхронная работа, переменное связывание, лямбды и т. п.
На что способен C#?
В современном виде С# способен на очень многие вещи. Сегодня он не зря занимает лидирующие позиции в списках популярных языков, так как на его основе вы можете строить практически любые угодные вам проекты.
Предположим, если вам нужно написать программу для считывания данных с сайта и вывода их в консоль – не проблема. Нужно сделать веб сайт, создать приложение под Виндовс, написать нейронную сеть, сделать игру или написать мобильное приложение – все это можно делать, используя разные библиотеки и Фреймворки, что доступны для этого языка. Про них мы поговорим чуть позже, но пока просто можете знать, что изучив базовый синтаксис языка и далее изучив различные его дополнения (другими словами библиотеки), вы сможете делать, практически, все что вам только захочется.
Кроме того, после появления игрового движка Unity язык приобрел дополнительную мощь на рынке. Теперь на его основе в связке с мега популярным движком Unity вы легко и быстро можете создавать игры любого жанра и любой сложности.
Сходство C# и Java
Такое сходство не случайно. После релиза язык Джава стал стремительно набирать обороты популярности. В то же время компания Microsoft решила предпринять меры и начала разработку языка, который бы напрямую конкурировал с Джава. Таким языком стал как раз язык C#.
Их сравнение вполне оправдано, хотя при сравнении сказать что лучше – просто невозможно. Несмотря на схожий синтаксис и схожие сферы применения языки все же имеют некоторые различия.
К примеру, написание программ под Виндовс гораздо удобнее на С#. Это не мудрено, ведь Виндовс и С# были созданы одной компанией. В то же время разработка мобильных приложений под Андроид явно относится только к языку Джава. При этом разработка игр уже удобнее на C#, ведь есть движок Unity. А вот с разработкой веб сайтов все максимально сложно. Там и там есть крутые фреймворки и там и там можно делать сайты любой сложности.
Ближайшее перспективы языка
На сегодня язык обладает невероятно большим сообществом разработчиков. На основе языка можно делать проекты из разных сфер. Его будущие перспективы достаточно оптимистичны.
Язык все время развивается, появляются новые вакансии на рынке и список возможностей у языка постоянно растет. Изучив язык вы сможете найти себе работу, стать крутым программистом и делать те проекты из той сферы, которая вам наиболее будет подходить по духу.
Ранее вы уже могли слышать про платформу .Net. По началу не понятно что это такое, поэтому давайте пару слов уделим этой платформе.
По сути вы можете представить, что данная платформа как некая папка, которая содержит другие папки (библиотеки). Вы выбираете папку WPF и вот вы уже делаете Виндовс программы с интерфейсом или же выбрали ASP NET и вот вы уже делаете веб сайты.
Управляемый и неуправляемый код
JIT-компиляция
Исходный код C# компилируется в программы или отдельные сборки на CIL с расширениями dll, exe. В процессе запуска готового приложения выполняется JIT-компиляция – это сокращение от Just-In-Time (Просто сейчас). На выходе получается машинный код, который передаётся на исполнение.
Важным достоинством приложения является возможность компиляции только нужных в данный момент частей программы. Если приложение не обращается к какой-то части кода, его компиляция не происходит. В момент обращения выполняется моментальная компиляция из CIL в машинный код.
Все скомпилированные блоки не удаляются, они хранятся до прекращения работы с программой. Это помогает сократить затраты системных ресурсов на повторную компиляцию.
План курса
В ходе курса мы с вами будем рассматривать все основные нюансы относительно языка программирования C#. Мы научимся создавать переменные, работать с циклами и массивами, создавать классы и объекты, создавать аксессоры, научимся работать с файлами и выполнять многие другие действия. К концу курса у вас будут четкие представления относительно языка С# и его возможностей.
Дополнительные курсы по C# разработке
За курс мы с вами учимся делать программы на основе базовых концепций языка C#. Если вы хотите получить больше информации относительно языка, то рекомендуем вам дополнительные курсы по этой теме.
В ходе программы обучения вы научитесь делать как 2Д, так и 3Д игры на Unity. Игры будут разрабатывать под обе платформы: Андроид и iOS. За программу вы научитесь создавать анимации, дизайн, прописывать скрипты, добавлять рекламу и монетизацию и выполнять публикацию игр в магазины Google Play и App Store.
Расскажите зачем нужен C# и что можно создавать используя C#?