Глиф Учебники

C#

Программирование · 10 уроков · 17 справок · итоговый тест

C# с нуля для школьников, студентов и будущих разработчиков игр: .NET SDK, переменные, ввод и вывод, условия, циклы, списки, строки, методы, классы и интерфейсы.

C# (читается «си шарп») — язык программирования компании Microsoft. Первая версия вышла в 2002 году вместе с платформой .NET; главный автор языка — Андерс Хейлсберг. Сейчас C# и .NET бесплатны, их исходный код открыт, а программы работают в Windows, Linux и macOS.

На C# пишут программы для Windows, сайты и серверы (ASP.NET Core), мобильные приложения и — очень часто — игры: на C# пишутся скрипты (код, который управляет поведением объектов игры) в игровом движке Unity. Поэтому язык популярен у тех, кто хочет делать игры, и у студентов: он строгий, но читается легче, чем C++, а ошибки компилятор находит ещё до запуска программы.

Что такое .NET

Программа на C# переводится компилятором в промежуточный код, а выполняет его среда .NET: она переводит этот код в машинный прямо во время работы и сама освобождает память, которая больше не нужна. Для учёбы нужен .NET SDK — набор для разработчика: компилятор, среда выполнения и команда dotnet, которая создаёт, собирает и запускает программы.

Курс рассчитан на .NET 10 и язык C# 14. Версии с пометкой LTS (долгая поддержка) получают обновления три года: .NET 10 вышла в ноябре 2025 года и поддерживается до ноября 2028-го. Прежняя LTS, .NET 8, поддерживается до 10 ноября 2026 года; программы курса работают и в ней, но для новой установки берите .NET 10.

Что нужно для начала

Как пройти курс

Уроки идут по порядку: от первой программы до классов, наследования и интерфейсов. Каждый урок опирается на предыдущие, поэтому лучше не перескакивать. Набирайте примеры сами и меняйте их: что будет, если поставить другое число, убрать строку, ошибиться в имени. После каждого урока — несколько вопросов для проверки, в конце — итоговый тест.

В справочнике — короткие ответы на частые вопросы: что значит ошибка NullReferenceException, почему Math.Round(2.5) даёт 2, как перевести строку в число, как прочитать файл и что делать, если вместо русских букв в консоли знаки вопроса. Тем, кто пришёл ради игр, — справка C# в Unity: что из курса пригодится в Unity и чем скрипты для игр отличаются от консольных программ.

Если знаком C++ или Java, многое в C# покажется знакомым; чем языки отличаются, рассказывает справка Чем C# отличается от C++ и Java. Сами языки — в темах C++ и Java.

Курс с нуля

  1. 1.Установка .NET и первая программаКак поставить .NET SDK, создать проект командой dotnet new console, запустить его через dotnet run, что такое top-level statements и классическая форма с методом Main.
  2. 2.Переменные и типы данныхКак объявить переменную в C#, какие бывают типы (int, long, double, decimal, bool, char, string), что делает var, как делятся целые числа и почему дробное число выводится с запятой.
  3. 3.Ввод и вывод, интерполяция строкКак печатать через Console.Write и WriteLine, вставлять значения в строку через $"…", читать ввод Console.ReadLine, переводить его в число и читать несколько чисел из одной строки.
  4. 4.Условия — if, else и switchКак программа на C# выбирает, что делать: сравнения, if и else, логические && || !, тернарный оператор, switch и выражение switch с шаблонами.
  5. 5.Циклы — while, for, foreachКак повторять действия в C#: циклы while, do-while, for и foreach, выход break и пропуск continue, вложенные циклы и частые ошибки вроде бесконечного цикла.
  6. 6.Массивы и списки List<T>Как хранить много значений в C#: массивы, индексы и Length, сортировка Array.Sort, чтение массива с клавиатуры, список List<T> с Add, Remove, Count и чем список удобнее массива.
  7. 7.Строки — методы и приёмыКак работать со строками в C#: длина и символы, поиск и замена, Substring, Split и Join, перебор символов, char, почему строку нельзя изменить и как перевернуть строку.
  8. 8.Методы — свои функцииКак писать методы в C#: параметры и return, void, значения по умолчанию и именованные аргументы, перегрузка, ref и out, params, рекурсия и методы в программе без Main.
  9. 9.Классы, объекты и свойстваЧто такое класс и объект в C#, как описать поля, свойства get и set, конструктор и методы, зачем private, что делает static и почему объекты передаются по ссылке.
  10. 10.Наследование и интерфейсыКак в C# один класс наследует другой, что делают virtual, override и base, зачем абстрактные классы, как работают интерфейсы и полиморфизм, как переопределить ToString.

Начать с первого урока

Итоговый тест — 18 вопросов по всему курсу, ответы проверяются сразу.

Справочник

Официальная документация