Знакомство с C#
Приветствуем вас в ознакомительном разделе руководств по C#. Занятия начинаются с интерактивного кода, который можно запускать в браузере. Прежде чем приступить к интерактивным урокам, вы можете ознакомиться с основами C#, просмотрев серию видеороликов «C# для начинающих».
В первых занятиях с помощью небольших фрагментов кода объясняются основные понятия языка C#. Вы изучите основы синтаксиса C# и научитесь работать с такими типами данных, как строки, числа и логические значения. Вся серия интерактивна, и уже через считанные минуты вы будете писать и запускать собственный код. Для первых занятий не требуются какие-либо знания в области программировании или опыт работы с языком C#.
Эти руководства можно проходить в разных средах. В них описываются одни и те же основные понятия. Различие в том, где именно вы будете работать.
- В браузере на платформе документации. В этом случае окно готового к запуску кода C# внедряется на страницы документации. Вы пишете и выполняете C# код в браузере.
- В среде Microsoft Learn. Эта схема обучения содержит несколько модулей для изучения основ C# .
- В Jupyter в проекте Binder. Вы можете поэкспериментировать с кодом C# в записной книжке Jupyter в проекте Binder.
- На локальном компьютере. После изучения кода в интерактивном режиме можно скачать пакет SDK для .NET и создавать программы на компьютере.
Все ознакомительные руководства, в которых используется пример приложения «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 примера, которые можно запускать в интерактивном режиме. Вы можете исследовать различные способы отправки запросов к данным, исследования данных и преобразования последовательностей данных.
Привет всем
Я решил начать цикл статей на тему обучения программирования в .NET, а именно на C#. Я не претендую на авторство всего, что здесь и далее будет написано, я всего лишь хочу дать знания тем, кто этого желает.
На Хабре много раз могли заметить мои комментарии по поводу того, что я очень хотел бы обучать людей, но никак не мог придумать как это сделать. После цикла статей MaxElc я подумал, что тоже могу паралельно с ним начать писать.
Пожалуй начнём!
Архитектура .NET
.NET — это среда исполнения или платформа. Она располагается между кодом и Windows, позволяя предоставлять нужные службы. Платформа .NET состоит из двух основных компонентов. Это Common Language Runtime и .NET Framework Class Library.
Common Language Runtime (сокращенно CLR) можно назвать «двигателем» платформы .NET. CLR занимается управлением памятью, компиляцией и выполнением кода, работой с потоками управления, обеспечением безопасности и т.п.
.NET Framework Class Library — это набор классов на все случаи жизни.
Итак, чтобы понять, как работает .NET, рассмотрим её составные части:
Общая система типов (Common Type System, сокращенно CTS) — охватывает большую часть типов, встречающихся в распространенных языках программирования.
Виртуальная система исполнения (Virtual Execution System, сокращенно VES) — отвечает за загрузку и выполнение программ, написанных для CLI.
Система метаданных (Metadata System) — предназначена для описания типов, хранится в независимом от конкретного языка программирования.
Общий промежуточный язык (Common Intermediate Language, сокращенно CIL) — независимый от платформы объектно-ориентированный байт-код, выступающий в роли целевого языка для любого поддерживающего CLI компилятора.
Общая спецификация языков (Common Language Specification, сокращенно CLS) — соглашение между разработчиками языков программирования и разработчиками библиотек классов, в котором определено подмножество CTS и набор правил.
Одной из основных идей .NET является совместимость различных служб, написанных на разных языках. Например, служба, написанная на C++ для .NET, может обратиться к методу класса из библиотеки, написанной на Delphi; на C# можно написать класс, наследованный от класса, написанного на Visual Basic .NET, а исключение, созданное методом, написанным на C#, может быть перехвачено и обработано в Delphi.
Я не буду вдаваться в подробности и перепечатывать учебники. Для тех, кто желает более подробно узнать про .NET я оставлю внизу ссылки на необходимые ресурсы. Просто весь смысл сводится к тому, что .NET нам помогает! И это очень хорошо. =)
Основы C#
Для удобного исполнения примеров рекомендую вам скачать бесплатный Visual Studio 2008 Express, а у кого траффик не казенный, то можете использовать #Develop — это OpenSource проект с открытым исходным кодом.
Начнём с немного боянного уже примера — Hello World!
Если вы используете Visual Studio или #Develop — создайте новый консольный проект. Для извращенцев 🙂 можно попробовать использовать csc.exe — это компилятор C#. Он входит в состав свободно распространяемой MS.NET SDK.
Для сборки в IDE выберите Build в меню Project, а используя csc.exe наберите в командной строке:
где TargetFile.exe — это выходной файл, а SourceFile.cs — файл, где вы набрали вышенаписанный код.
Давайте разберём код, который мы написали.
using подключает пространство имён System, которое включает в себя методы ввода/вывода и нужные типы.
class HelloWorld — объявили новый класс, который мы обозвали как HelloWorld. Чуть позже я вам расскажу про классы более подробнее, а пока вам надо понять, что любая программа на C# состоит из классов.
Далее идёт метод Main() — это дверь для компилятора. Свою работу он будет начинать отсюда. Метод Main() обязателен для любой программы и его имя должно писаться именно так. В C# регистр имеет значение ;).
Вот как выглядят методы. Сначала идёт модификатор, затем надо указать тип данных, которые он будет возвращать, имя самого метода, а в скобках параметры, которые он принимает. Про всё это вы узнаете из будущих статей, а пока просто попытайтесь запомнить.
Квадратные скобки обозначают необязательные параметры. Модификаторы используются для указания особенностей вызова метода, например, откуда он может быть вызван.
Наконец перейдём к самим операторам. У нас вызывается метод WriteLine() класса System.Console для вывода строки в консоли. Для выхода из метода применяется оператор return и так как это метод Main(), то происходит выход из программы. В заголовке метода Main() указан тип int, поэтому необходимо вернуть целое значение (в данном случае).
Важные ссылки
P.S. Я оставил эту статью логически незаконченой, т.к. завтра намериваюсь продолжить писать и опубликавать. Пишите в комментарии свою критику и вопросы. Надеюсь вам понравилось.
P.P.S. MaxElc! А вёдрами то интереснее =)