0_Введение
Урок 0 : Введение в C# и Unity
Это отправная точка курса. Вы познакомитесь с языком C#, платформой .NET, научитесь ставить цели по SMART и настроите рабочее окружение.
1. Что такое C# и .NET
C# (произносится «си шарп») - современный объектно-ориентированный язык программирования, основной язык для разработки в Unity.
.NET - платформа (среда выполнения + набор библиотек), на которой работают программы на C#. Она берёт на себя управление памятью, безопасность типов и многое другое.
Исходный код (.cs) → Компилятор C# → Байт-код (IL) → .NET Runtime → Выполнение
Unity использует C# как единственный официально поддерживаемый язык. Все скрипты компонентов, игровая логика, физика - всё это пишется на C#. Знания этого курса являются основой для дальнейшей работы с движком.
Где ещё применяется C#
- Серверная разработка (ASP.NET Core)
- Мобильные приложения (MAUI, Xamarin)
- Десктопные приложения (WPF, WinForms)
- Облачные сервисы (Azure Functions)
2. Почему C# удобен для начинающих
| Свойство | Что это означает на практике |
|---|---|
| Строгая типизация | Компилятор поймает ошибку до запуска программы |
| Управление памятью | Сборщик мусора (GC) сам удаляет неиспользуемые объекты |
| Богатая стандартная библиотека | Не нужно писать базовые вещи с нуля |
| Читаемый синтаксис | Код близок к обычному английскому языку |
| Активное сообщество | Огромное количество документации и примеров |
3. SMART-цели в обучении
Прежде чем начинать - сформулируйте цель. Размытая цель не даёт ориентира и демотивирует. Используйте методологию SMART:
| Буква | Критерий | Пример |
|---|---|---|
| S - Specific | Конкретная, чёткая | «Разработать 2D-платформер на Unity» |
| M - Measurable | Измеримая, есть критерий | «Игра с 3 уровнями и рекордами» |
| A -Achievable | Реалистичная для вас | Учитывает текущий уровень навыков |
| R - Relevant | Актуальная, нужна вам | Соответствует вашим интересам и планам |
| T - Time-bound | Ограничена по времени | «Завершить за 4 месяца» |
Плохо: «Хочу научиться программировать»
Хорошо: «За 3 месяца пройти курс C# Basic, выполнить все практические задания и создать консольную игру "Угадай число" с рекордами»
Оцените реалистично: сколько часов в неделю вы готовы уделять обучению? Лучше стабильные 5 часов в неделю, чем нерегулярные марафоны по 20 часов.
4. Настройка среды разработки
IDE (Integrated Development Environment) - программа для написания, запуска и отладки кода. Включает редактор, компилятор и инструменты анализа кода.
Рекомендуемая IDE: JetBrains Rider
- Глубокая интеграция с Unity (навигация по Unity API, автодополнение)
- Встроенный отладчик, который подключается к запущенной Unity
- Умный анализ кода и подсказки по best practices
- Бесплатен для некоммерческого использования
Для Rider есть вариант получить лицензию для некоммерческого использования :
https://www.jetbrains.com/non-commercial/#choose-your-jetbrains-ide
https://www.jetbrains.com/rider/download/
Для загрузки потребуется ВПН
Скачать .NET 10 :
https://dotnet.microsoft.com/ru-ru/download/dotnet/10.0
Альтернативы:
- Visual Studio (Windows) - стандартный выбор, также хорошо интегрируется с Unity
- Visual Studio Code - лёгкий редактор, требует настройки расширений
5. Создание консольного приложения
Консольное приложение - стандартная точка старта для изучения C#. Весь ввод и вывод происходит через текстовую консоль, без UI. Именно в нём выполняются практические задания курса.
В JetBrains Rider
- Запустите Rider → нажмите New Solution
- В левой панели выберите .NET / Console Application
- Укажите имя проекта (например,
CSharpBasic) и папку для сохранения - В поле Framework выберите актуальную версию .NET (10 или выше)
- Нажмите Create
После создания откроется файл Program.cs - это точка входа программы. Запустить можно кнопкой ▶ вверху или горячей клавишей Shift + F10.
// Program.cs - файл создаётся автоматически
Console.WriteLine("Hello, World!");
В Visual Studio
- File → New → Project
- Выберите шаблон Console App (не Console App .NET Framework)
- Задайте имя проекта и нажмите Next → Create
- Откроется файл
Program.cs
Запуск: кнопка ▶ или Ctrl + F5 (без отладки).
Современные шаблоны создают Program.cs без явного класса и метода Main:
Console.WriteLine("Hello, World!"); // код просто сверху файла
Это сокращённая запись - компилятор сам добавляет Main за кулисами. В Unity такой синтаксис не используется - там всегда нужны полные классы.
Если запускаете из проводника (двойной клик на .exe) - консоль закроется мгновенно. Запускайте из IDE или добавьте Console.ReadKey() в конец программы.
6. Комментарии в коде
Комментарий - это текст в коде, который компьютер полностью игнорирует. Он нужен только вам и другим программистам - чтобы объяснить, что делает тот или иной кусок кода.
Существует два вида комментариев:
Однострочный - начинается с //, действует до конца строки:
// Это однострочный комментарий - компьютер его пропустит
Console.WriteLine("Hello"); // Комментарий можно добавить и после кода
Многострочный - заключается между /* и */, может занимать несколько строк:
/* Это многострочный комментарий.
Он может занимать несколько строк. */
Console.WriteLine("Hello");
Комментируйте всё, что хочется запомнить или что пока непонятно - это нормальная и полезная практика.
7. Структура программы на C#
Программа выполняется последовательно - компьютер читает и выполняет команды сверху вниз, строка за строкой, как по рецепту. Сначала первая команда, затем вторая, и так далее.
У каждой программы есть точка входа - место, с которого начинается это выполнение.
Метод - это именованный блок команд. В C# точкой входа служит метод с названием Main - компьютер начинает чтение программы именно с него.
using System;
namespace MyFirstProgram
{
class Program
{
// Точка входа - программа начинает выполнение отсюда:
static void Main(string[] args)
{
// первая команда
Console.WriteLine("Hello, World!");
// вторая команда
Console.ReadKey();
}
}
}
8. Вывод в консоль и ввод данных
Console.WriteLine - вывод строки
Выводит текст в консоль и переходит на новую строку. Следующая команда вывода начнётся с новой строки.
Console.WriteLine("Привет, мир!");
Console.WriteLine("Это вторая строка.");
Console.Write - вывод без переноса строки
Выводит текст, но не переходит на новую строку. Следующий вывод окажется на той же строке.
Console.Write("Введите имя: ");
Console.Write("Я на той же строке.");
Console.ReadLine - считывание ввода пользователя
Останавливает программу и ждёт, пока пользователь напечатает текст и нажмёт Enter. Возвращает введённую строку.
Console.Write("Введите имя: ");
string name = Console.ReadLine();
Интерполяция строк ⭐
Способ вставить значение переменной прямо внутрь строки. Перед кавычкой ставится $, а имя переменной заключается в {}.
string name = Console.ReadLine();
Console.WriteLine($"Привет, {name}!");
Этот синтаксис может казаться необычным на первых порах - это нормально. Вернитесь к нему, когда разберётесь с переменными.
Console.ReadKey - ожидание нажатия клавиши
Останавливает программу и ждёт, пока пользователь нажмёт любую клавишу. Используется в конце, чтобы консольное окно не закрылось сразу после выполнения.
Console.ReadKey();
Если не поставить Console.ReadKey() или Console.ReadLine() в конце программы, консольное окно мгновенно закроется - вы не увидите результат. Всегда добавляйте паузу при тестировании.
Итог урока
- C# - современный язык для Unity и не только, работает на платформе .NET
- SMART-цель помогает структурировать обучение и не потерять мотивацию
- IDE (Rider или VS) - среда для написания и запуска кода
- Консольное приложение: создаётся через File → New Solution (Rider) или File → New → Project (VS); точка входа - файл
Program.cs - Комментарии - текст в коде для людей, компьютер их игнорирует
- Программа выполняется последовательно, строка за строкой, сверху вниз
- Каждая программа начинается с метода
Main- это точка входа Console.WriteLine- вывод с переносом,Console.Write- без переноса,Console.ReadLine- ввод,Console.ReadKey- пауза в конце
📋 Перейти к практическим заданиям урока 0
Материалы для дополнительного ознакомления :
Введение в C#
Hello world program
Консольный ввод-вывод
Постановка задач