🔷 C#

إدخال وإخراج البيانات في C# (.NET 6): دليل مفصل

C# для начинающих: язык Microsoft для игр, приложений и веба

Добро пожаловать в мир C#! Если ты мечтаешь создавать игры, приложения для Windows или серверную часть сайтов — ты попал в правильное место. C# (произносится «си шарп») — один из самых популярных и востребованных языков программирования в мире. Давай разберёмся, что это такое, откуда он взялся и как начать его изучать прямо сегодня.

История создания: как появился C#

Представь себе 1999 год. Компания Microsoft хочет создать язык программирования, который будет таким же мощным, как C++, но таким же удобным, как Java. За дело берётся датский программист Андерс Хейлсберг — гений, который до этого уже создал Turbo Pascal и Delphi (другие известные языки).

В 2000 году на конференции разработчиков Microsoft впервые показала C#, а в 2002 году язык стал официально доступен всем. С тех пор он постоянно развивается — сегодня мы используем C# версии 12, и каждый год выходит новая версия с полезными улучшениями.

Интересный факт: Название «C#» — это музыкальная нотация. В музыке «диез» (знак #) повышает ноту на полтон. Так же и C# — это «повышенный» C++, более современный и удобный.

Что такое .NET: экосистема C#

C# не работает сам по себе. Он часть большой экосистемы под названием .NET (произносится «дот нет»). Представь .NET как большой город, а C# — как один из языков, на которых говорят его жители.

В .NET экосистему входят:

  • Среда выполнения (Runtime) — «движок», который запускает твой код. Как операционная система для твоей программы.
  • Библиотека классов (Base Class Library) — тысячи готовых инструментов: работа с файлами, сетью, базами данных, шифрованием и многим другим.
  • Компилятор — переводчик с C# на язык, понятный компьютеру.
  • SDK (Software Development Kit) — набор инструментов разработчика, который ты устанавливаешь на компьютер.

До 2016 года .NET работал только на Windows. Потом Microsoft выпустила .NET Core — версию, работающую на Windows, Mac и Linux. А начиная с .NET 5 (2020 год), всё объединилось в просто «.NET». Сегодня актуальная версия — .NET 8 и .NET 9.

Где применяется C#: от игр до облаков

Вот почему C# так популярен — он используется буквально везде:

🎮 Разработка игр с Unity

Движок Unity — один из самых популярных в мире для создания игр — использует C# как основной язык. Такие игры, как Hollow Knight, Cuphead, Cities: Skylines написаны на C# в Unity. Если мечтаешь делать игры — C# твой лучший выбор!

🖥️ Приложения для Windows

Большинство программ для Windows создаются на C#. Используя фреймворки WPF (Windows Presentation Foundation) или MAUI, можно создавать красивые десктопные приложения с кнопками, меню, таблицами.

🌐 Веб-разработка с ASP.NET Core

ASP.NET Core — это мощный фреймворк для создания веб-сайтов и API. Многие крупные компании используют его для своих серверов: Stack Overflow, Microsoft сами, многие банки и корпорации.

☁️ Облачные сервисы

Microsoft Azure — одно из крупнейших облачных хранилищ мира — идеально интегрируется с C#. Многие облачные сервисы и микросервисы написаны именно на нём.

📱 Мобильные приложения

С помощью MAUI (Multi-platform App UI) можно писать приложения для iOS и Android на C# — один код, две платформы!

Visual Studio vs VS Code: что выбрать

Для написания кода на C# есть два главных инструмента от Microsoft:

Visual Studio (полная версия)

Это как профессиональная мастерская со всеми инструментами. Visual Studio — мощная IDE (интегрированная среда разработки), специально созданная для C# и .NET. В ней есть:

  • Умное автодополнение кода (IntelliSense)
  • Встроенный отладчик
  • Визуальный дизайнер интерфейсов
  • Управление проектами и решениями
  • Интеграция с Git

Минус: Работает только на Windows и Mac. Занимает несколько гигабайт. Для начинающих может показаться сложным.

VS Code (Visual Studio Code)

Это лёгкий, быстрый редактор кода. Он работает на Windows, Mac и Linux. Для C# нужно установить расширение C# Dev Kit. Отлично подходит для небольших проектов и учёбы.

Рекомендация для начинающих: Начни с Visual Studio Community (бесплатная версия) если ты на Windows, или с VS Code если ты на Mac/Linux.

Установка инструментов

Давай установим всё необходимое:

Шаг 1: Установка .NET SDK

Зайди на сайт dotnet.microsoft.com и скачай .NET SDK для своей операционной системы. SDK включает всё необходимое для разработки.

После установки проверь, что всё работает. Открой терминал (командную строку) и введи:

dotnet --version

Если видишь номер версии (например, 8.0.100) — всё установлено правильно!

Шаг 2: Установка Visual Studio Community

Скачай Visual Studio Community с сайта visualstudio.microsoft.com. Это бесплатная версия для учёбы и некоммерческих проектов. При установке выбери рабочую нагрузку «Разработка классических приложений .NET».

Первая программа на C#

Традиция программирования гласит: первая программа должна вывести «Hello, World!» на экран. Давай следовать традиции!

Создание проекта через командную строку

# Создаём новую папку и переходим в неё
mkdir MyFirstApp
cd MyFirstApp

# Создаём новый консольный проект
dotnet new console

# Запускаем проект
dotnet run

Ты увидишь на экране: Hello, World!

Разбор кода: что происходит

Открой файл Program.cs. В современном C# (версия 9+) с «top-level statements» он выглядит очень просто:

// Это комментарий — программа его игнорирует
Console.WriteLine("Hello, World!");

Давай разберём каждую часть:

  • Console — это класс (инструментарий) для работы с консолью (текстовым окном программы)
  • . — точка означает «возьми у Console инструмент по имени...»
  • WriteLine — метод (действие), который выводит строку текста и переводит курсор на новую строку
  • ("Hello, World!") — то, что мы передаём методу. Текст в кавычках
  • ; — точка с запятой заканчивает инструкцию. Как точка в конце предложения.

Более подробная версия с объяснениями

// Выводим приветствие
Console.WriteLine("Привет, мир!");

// Выводим без перевода строки
Console.Write("Моё имя: ");
Console.WriteLine("Алексей");

// Ввод данных от пользователя
Console.Write("Как тебя зовут? ");
string name = Console.ReadLine();

// Используем введённое имя
Console.WriteLine("Приятно познакомиться, " + name + "!");

Что происходит в этом коде строка за строкой:

  1. Строка 2: Выводим «Привет, мир!» и переходим на новую строку
  2. Строка 5: Выводим «Моё имя: » БЕЗ перехода на новую строку
  3. Строка 6: Выводим «Алексей» и переходим на строку. Итого: «Моё имя: Алексей»
  4. Строка 9: Ждём, пока пользователь введёт текст и нажмёт Enter
  5. Строка 10: Сохраняем введённый текст в переменную name
  6. Строка 13: Выводим приветствие, соединяя строки знаком +

Более современный способ: интерполяция строк

Console.Write("Как тебя зовут? ");
string name = Console.ReadLine();
int age = 15;

// Интерполяция строк — более удобный способ
Console.WriteLine($"Привет, {name}! Тебе {age} лет.");
// Результат: "Привет, Саша! Тебе 15 лет."

Знак $ перед строкой включает интерполяцию. Это значит, что всё в фигурных скобках {} — это код C#, который вычисляется и вставляется в строку. Гораздо удобнее, чем соединять строки через +!

Структура программы C#: полная версия

Когда ты будешь работать с более серьёзными проектами или читать старый код, ты увидишь другую форму записи:

using System;  // Подключаем пространство имён System

namespace MyFirstApp  // Пространство имён нашего проекта
{
    class Program  // Класс Program — главный класс
    {
        static void Main(string[] args)  // Метод Main — точка входа
        {
            Console.WriteLine("Hello, World!");
            
            // args — это аргументы командной строки
            // Например: dotnet run -- Иван
            if (args.Length > 0)
            {
                Console.WriteLine($"Аргумент: {args[0]}");
            }
        }
    }
}

Разбор структуры:

  • using System — подключает стандартные инструменты .NET (Console и другие)
  • namespace — пространство имён, как папка для организации кода
  • class Program — класс. В C# весь код живёт внутри классов
  • static void Main — метод Main это «точка входа», с которой начинается программа
  • string[] args — массив аргументов командной строки

Комментарии в C#

Комментарии — это заметки для программиста. Программа их игнорирует, но они помогают понять код:

// Однострочный комментарий — всё после // игнорируется

/* 
   Многострочный комментарий.
   Можно писать на нескольких строках.
   Всё между /* и */ игнорируется.
*/

/// 
/// XML-документация — специальный вид комментария.
/// Используется для генерации документации.
/// 
void MyMethod()
{
    // Код метода
}

Типичные ошибки начинающих

Ошибка 1: Забытая точка с запятой

// ОШИБКА! Нет точки с запятой
Console.WriteLine("Hello")
// Ошибка компиляции: '; expected'

// ПРАВИЛЬНО:
Console.WriteLine("Hello");

Ошибка 2: Неправильный регистр

// ОШИБКА! C# чувствителен к регистру
console.writeline("Hello"); // Ошибка!
CONSOLE.WRITELINE("Hello"); // Тоже ошибка!

// ПРАВИЛЬНО: Console с большой буквы, WriteLine с большой W
Console.WriteLine("Hello");

Ошибка 3: Незакрытые кавычки

// ОШИБКА!
Console.WriteLine("Привет, мир!);

// ПРАВИЛЬНО:
Console.WriteLine("Привет, мир!");

Ошибка 4: Незакрытые скобки

// ОШИБКА!
Console.WriteLine("Hello";

// ПРАВИЛЬНО:
Console.WriteLine("Hello");

Что дальше: план изучения C#

Ты сделал первый шаг! Теперь ты знаешь, что такое C#, как установить инструменты и написать первую программу. Вот что изучать дальше:

  1. Переменные и типы данных — как хранить информацию в программе
  2. Условия и циклы — как программа принимает решения
  3. Методы и функции — как организовать код
  4. ООП (объектно-ориентированное программирование) — классы и объекты
  5. LINQ — мощный инструмент для работы с данными

Итого

Что ты узнал в этом уроке:

  • ✅ C# создан в 2000 году компанией Microsoft под руководством Андерса Хейлсберга
  • ✅ C# работает в экосистеме .NET — платформе для запуска и создания программ
  • ✅ C# используется для игр (Unity), Windows-приложений, веб-сайтов (ASP.NET), мобильных приложений (MAUI)
  • ✅ Для разработки на C# используют Visual Studio или VS Code
  • ✅ Первая программа выводит текст через Console.WriteLine()
  • ✅ В C# каждая инструкция заканчивается точкой с запятой
  • ✅ Интерполяция строк с $ делает вывод данных удобным

Не переживай, если что-то кажется непонятным — это нормально для первого урока! Просто запусти примеры кода, поиграй с ними, измени текст в Console.WriteLine(). Лучший способ учиться — это делать!

Ваш первый мини-проект: калькулятор

Давай применим знания на практике и создадим простой консольный калькулятор!

// Простой калькулятор на C#
Console.WriteLine("=== Калькулятор C# ===");
Console.WriteLine("Операции: +, -, *, /");
Console.WriteLine();

while (true)
{
    Console.Write("Введи первое число (или 'q' для выхода): ");
    string input1 = Console.ReadLine() ?? "";
    if (input1.ToLower() == "q") break;
    
    if (!double.TryParse(input1, out double num1))
    {
        Console.WriteLine("Ошибка: введи корректное число!");
        continue;
    }
    
    Console.Write("Введи оператор (+, -, *, /): ");
    string op = Console.ReadLine() ?? "";
    
    Console.Write("Введи второе число: ");
    if (!double.TryParse(Console.ReadLine() ?? "", out double num2))
    {
        Console.WriteLine("Ошибка: введи корректное число!");
        continue;
    }
    
    double result = op switch
    {
        "+" => num1 + num2,
        "-" => num1 - num2,
        "*" => num1 * num2,
        "/" when num2 != 0 => num1 / num2,
        "/" => double.NaN, // деление на ноль
        _ => double.NaN   // неизвестная операция
    };
    
    if (double.IsNaN(result))
        Console.WriteLine("Ошибка в вычислении!");
    else
        Console.WriteLine($"Результат: {num1} {op} {num2} = {result:G}");
    
    Console.WriteLine();
}

C# в сравнении с другими языками

Чем C# отличается от других популярных языков:

  • C# vs Java: Оба похожи и компилируются в байткод. C# более выразительный (лямбды, LINQ, nullable reference types появились раньше), работает быстрее в последних версиях. Java — более кроссплатформенная, огромная экосистема.
  • C# vs Python: Python проще для начинающих и идеален для Data Science. C# значительно быстрее (10-100x), строго типизирован, лучше для больших проектов.
  • C# vs JavaScript: JavaScript — для браузера и Node.js. C# — для серверов, игр, настольных приложений. Blazor позволяет писать веб-приложения на C#.
  • C# vs C++: C++ быстрее в критичных местах, но C# проще, безопаснее (автоматическое управление памятью), быстрее разрабатывать.

Карьера с C#: кем можно работать

Зная C#, ты можешь работать:

  • Game Developer — создавать игры в Unity (зарплата от 100K+ рублей в России, $80K+ в мире)
  • Backend Developer — серверная разработка на ASP.NET Core
  • Desktop Developer — Windows-приложения (корпоративный сектор)
  • Mobile Developer — iOS/Android приложения на MAUI
  • Full-Stack Developer — и фронтенд (Blazor), и бэкенд (ASP.NET)

Итого урока

  • ✅ C# — мощный, многоцелевой язык от Microsoft
  • ✅ .NET — платформа для запуска C# программ на любой ОС
  • ✅ Основные области: игры (Unity), веб (ASP.NET), Windows-приложения
  • ✅ Инструменты: Visual Studio Community или VS Code
  • ✅ Программа начинается с точки входа Main() или top-level statements
  • ✅ Console.WriteLine() — вывод, Console.ReadLine() — ввод
  • ✅ Интерполяция строк $"{переменная}" — самый удобный способ форматирования
  • ✅ Каждая инструкция заканчивается точкой с запятой