1. Введение в C#: Настройка среды, переменные и типы данных
Введение в C#: Настройка среды, переменные и типы данных
Добро пожаловать на курс «Основы программирования на C#: Практический курс». Это первая статья, с которой начнется ваше погружение в один из самых мощных и востребованных языков программирования в мире. C# (произносится как «си-шарп») — это универсальный язык, разработанный компанией Microsoft, который позволяет создавать всё: от простых консольных утилит до сложных веб-сервисов, мобильных приложений и даже видеоигр на движке Unity.
В этой статье мы пройдем путь от установки необходимых инструментов до написания вашей первой программы, которая умеет хранить и обрабатывать данные.
Зачем учить C#?
Прежде чем мы начнем писать код, важно понять, почему вы сделали правильный выбор:
* Строгая типизация: C# не позволяет совершать многие глупые ошибки, проверяя код еще до его запуска. * Кроссплатформенность: Благодаря платформе .NET, ваш код может работать на Windows, macOS и Linux. * Огромное сообщество: Если у вас возникнет вопрос, скорее всего, кто-то уже задал его на форуме и получил ответ.
Настройка рабочей среды
Программисту нужен инструмент. Для C# «золотым стандартом» является Visual Studio (не путать с Visual Studio Code, хотя и он подходит). Для начала обучения мы рекомендуем использовать Visual Studio Community — это бесплатная, но полнофункциональная версия среды разработки (IDE).
Установка Visual Studio
!Выбор необходимой рабочей нагрузки при установке Visual Studio
После установки запустите Visual Studio и выберите «Создание нового проекта». В поиске шаблонов найдите «Консольное приложение» (Console App). Это самый простой тип программ, который идеально подходит для обучения. Дайте проекту имя, например, MyFirstApp, и нажмите «Создать».
Анатомия программы на C#
Когда проект создастся, вы увидите код, который Visual Studio сгенерировала автоматически. Давайте разберем его построчно. Это ваш первый шаг к пониманию структуры языка.
Разберем, что здесь происходит:
using System; — это подключение пространства имен. Представьте, что System — это огромная библиотека с книгами. Подключая её, мы говорим программе: «Я буду использовать инструменты из этой библиотеки».namespace MyFirstApp — это пространство имен вашего приложения. Это как фамилия для вашего кода, чтобы он не путался с чужим кодом.class Program — весь код в C# живет внутри классов. Класс — это контейнер для данных и методов.static void Main(string[] args) — это точка входа. Самая важная часть. Когда вы запускаете программу, компьютер ищет именно метод Main и начинает выполнение команд внутри него.Console.WriteLine("Hello, World!"); — это команда, которая выводит текст на экран. Обратите внимание на точку с запятой ; в конце. В C# она обязательна в конце каждой команды, как точка в конце предложения.!Иерархическая структура программы на C#
Переменные: Хранение данных
Программа, которая просто выводит текст, скучна. Настоящая магия начинается, когда мы начинаем работать с данными. Для этого используются переменные.
> Переменная — это именованная область памяти, в которую можно положить значение, чтобы использовать его позже.
Представьте переменную как коробку. У коробки есть:
!Визуализация переменных как контейнеров для данных
Объявление и инициализация
Чтобы создать переменную в C#, нужно сначала указать её тип, затем имя, и (по желанию) сразу присвоить значение. Синтаксис выглядит так:
Пример:
Здесь мы создали коробку типа int (целое число), назвали её age и положили туда число 25. Знак = в программировании означает не равенство, а присваивание. Мы берем то, что справа, и кладем в то, что слева.
Основные типы данных
C# — язык со строгой статической типизацией. Это значит, что если вы создали переменную для хранения целых чисел, вы не можете положить туда текст. Это защищает вас от ошибок.
Вот основные типы данных, которые вам понадобятся на старте:
| Тип C# | Описание | Пример значения | Размер в памяти |
| :--- | :--- | :--- | :--- |
| int | Целые числа (от -2 млрд до 2 млрд) | 42, -10, 0 | 4 байта |
| long | Очень большие целые числа | 9000000000 | 8 байт |
| double | Дробные числа (с плавающей точкой) | 3.14, -0.01 | 8 байт |
| string | Строка (текст) | "Привет", "C#" | Зависит от длины |
| char | Один символ | 'A', '7', '!' | 2 байта |
| bool | Логический тип (истина или ложь) | true, false | 1 байт |
Особенности работы с типами
string) всегда пишутся в двойных кавычках: "Текст".char) всегда пишутся в одинарных кавычках: 'A'.double) используют точку как разделитель: 5.5.Пример кода с разными типами:
Ввод и вывод данных
Мы уже видели команду Console.WriteLine(). Она выводит текст и переводит курсор на новую строку. Есть еще команда Console.Write(), которая делает то же самое, но оставляет курсор на той же строке.
Но как получить данные от пользователя? Для этого используется команда Console.ReadLine().
Давайте напишем программу, которая знакомится с пользователем. Это будет вашим первым практическим заданием, которое стоит повторить в своей среде разработки.
Практика: Программа-анкета
Важный нюанс про числа и строки
Обратите внимание: Console.ReadLine() всегда возвращает текст (string). Даже если пользователь ввел цифры "25", для программы это просто текст, набор символов. Вы не можете прибавить к тексту число математически.
Если вы хотите выполнять математические операции с введенным возрастом (например, узнать год рождения), вам нужно преобразовать строку в число. Для этого используется метод Convert.ToInt32() или int.Parse().
Пример:
Правила именования переменных
В C# приняты определенные соглашения о том, как называть переменные. Это не влияет на работу программы, но влияет на то, как другие программисты (и вы сами через месяц) будут читать ваш код.
userName, playerScore, totalAmount.
Плохо:* Username, player_score, TOTAL.
a, b, x (если это не координаты).age, Age и AGE — это три разные переменные.Заключение
Сегодня вы сделали огромный шаг. Вы настроили среду, узнали структуру программы, научились создавать переменные разных типов и взаимодействовать с пользователем. Это фундамент, на котором строится всё программирование.
В следующей статье мы углубимся в арифметические операции и научим нашу программу принимать решения с помощью условных конструкций.