Как выучить си шарп с нуля

Привет всем

Я решил начать цикл статей на тему обучения программирования в .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 наберите в командной строке:

Читайте также:  Javascript чтение файла построчно

где 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! А вёдрами то интереснее =)

Источник

Знакомство с C#

Приветствуем вас в ознакомительном разделе руководств по C#. Занятия начинаются с интерактивного кода, который можно запускать в браузере. Прежде чем приступить к интерактивным урокам, вы можете ознакомиться с основами C#, просмотрев серию видеороликов «C# для начинающих».

В первых занятиях с помощью небольших фрагментов кода объясняются основные понятия языка C#. Вы изучите основы синтаксиса C# и научитесь работать с такими типами данных, как строки, числа и логические значения. Вся серия интерактивна, и уже через считанные минуты вы будете писать и запускать собственный код. Для первых занятий не требуются какие-либо знания в области программировании или опыт работы с языком C#.

Эти руководства можно проходить в разных средах. В них описываются одни и те же основные понятия. Различие в том, где именно вы будете работать.

  • В браузере на платформе документации. В этом случае окно готового к запуску кода C# внедряется на страницы документации. Вы пишете и выполняете C# код в браузере.
  • В среде Microsoft Learn. Эта схема обучения содержит несколько модулей для изучения основ C# .
  • В Jupyter в проекте Binder. Вы можете поэкспериментировать с кодом C# в записной книжке Jupyter в проекте Binder.
  • На локальном компьютере. После изучения кода в интерактивном режиме можно скачать пакет SDK для .NET и создавать программы на компьютере.
Читайте также:  Powerpoint presentation about html

Все ознакомительные руководства, в которых используется пример приложения «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 примера, которые можно запускать в интерактивном режиме. Вы можете исследовать различные способы отправки запросов к данным, исследования данных и преобразования последовательностей данных.

Источник

Учим Си шарп: первые уроки

C# (Си шарп) — известнейший объектно-ориентированный язык программирования. Он был разработан группой инженеров от Microsoft на рубеже веков (1998—2001 гг.). Относится к семье языков, имеющих C-подобный синтаксис, очень близок, к примеру, к языку C++ или Java. Однако в этой статье мы не будем подробно рассказывать про историю развития и особенности C #, а лучше сразу перейдем к практическим урокам. Таким образом, ниже вы найдете несколько простейших уроков (глав), представляющих собой обучение первым шагам по программированию на Си шарп с нуля.

Изучаю C# с нуля, глава № 1: первая программа

Как это принято во многих других языках программирования, в качестве первой программы происходит так называемое «знакомство», то есть пресловутый «Hello World!» Давайте в этой главе урока выведем какое-нибудь приветствие, используя метод Console.WriteLine . В нашем случае Console — это, по сути, тип, представляющий окно консоли, тогда как WriteLine — метод типа Console, осуществляющий вывод строки текста в консоли.

Результат работы очевиден:

Вы можете вставить этот код в любой онлайн-компилятор, проверив таким образом работоспособность программы. Также попробуйте написать свое приветствие или изменить название класса.

Читайте также:  Find php fpm service

Учим C# с нуля, глава № 2: переменные

Продолжая изучение, отметим, что данная глава урока будет уже несколько сложнее. Здесь мы рассмотрим работу с типом string, представляющим текст на языке программирования C#. Как и в случае с Console, для типа string применяются методы, причем методы, работающие с текстом.

Если функции программы из главы урока № 1 ограничивались выводом одного простейшего сообщения, то в этом уроке все будет несколько иначе. На практике существует возможность создавать намного более сложные программы, а помогает в этом использование переменных. Что такое переменная? Это символ, применение которого позволяет выполнять один и тот же код с различными значениями.

Давайте посмотрим, как это работает. Изменим немного наш первоначальный код.

string onlineSchool = «Otus»;

Обратите внимание, что в самой первой строке мы объявили variable onlineSchool, назначив ей значение Otus. В результате вывод названия этой онлайн-школы произошел уже второй строке.

Важно понимать, что любая объявляемая variable может получать различные значения. Если требуется, вы можете прописать название другой школы (но мы не советуем :-). То есть одна и та же переменная способна выводить разные значения. Давайте допишем всего две строки.

Интерес вызывает тот факт, что посредством той же самой строки (6 и 8) мы получили два разных сообщения. А все потому, что значение нашей onlineSchool изменилось.

Есть и другие варианты. Внесем снова небольшие изменения в первую программу из главы урока № 2:

string onlineSchool = «Otus»;

Выполнив, мы снова получим приветственную фразу, то есть мы создали строку, используя как константу (слово «Привет»), так и variable.

Учим C#, глава № 3: интерполяция

Но давайте снова усложним нашу предыдущую главу и обучение, то есть пойдем немного дальше. К примеру, поместим нашу переменную между символами фигурных скобок < … >, что позволит коду на C# заменить наш текст переменным значением. Но чтобы мы могли это реализовать, необходимо добавить перед открывающей кавычкой специальный символ $.

string onlineSchool = «Otus»;

Что же мы получим в итоге?

Это не что иное, как интерполяция строк, и теперь вы будете знать о такой технике не понаслышке. Разве не здорово — пройдено всего три коротких главы обучения, а вы уже «потрогали» интерполяцию?

Однако наша короткая статья — не самоучитель, а лишь краткое знакомство с несколькими обучающими главами, которые будут полезны новичкам, желающим программировать на C#.

На этом наши 3 небольших, но содержательных урока подошли к концу. Если хотите освоить язык программирования Си шарп на более профессиональном уровне с подробными главами, экспертными уроками, и обильной практикой, добро пожаловать в онлайн-школу! А вот в какую именно, вы уже хорошо знаете 😉 Помните, что изучение при помощи практикующих программистов даст вам гораздо больше, чем самый лучший самоучитель или самый продвинутый план самостоятельного образования. Планы — планами, теория — теорией, но практику ничто не заменит — с ее помощью изучишь программирование гораздо быстрее.

Статья написана по материалам официального самоучителя для изучения Си шарп с нуля от Microsoft:

Источник

Оцените статью