Основные конструкции C#: полный гид для начинающих
Случайная статья Статьи

Основные конструкции C#: полный гид для начинающих

Введение

C# (произносится как "си шарп") — это современный, объектно-ориентированный язык программирования, разработанный Microsoft. Он широко используется для создания Windows-приложений, игр на движке Unity, веб-сервисов и мобильных приложений. В этой статье мы подробно разберём все основные конструкции языка, которые помогут вам начать программировать на C#.

[IMAGE: Программист за работой с кодом C#]

1. Переменные и типы данных

Переменные в C# — это контейнеры для хранения данных. Каждая переменная имеет определенный тип, который определяет:

  • Какие значения может хранить переменная
  • Сколько памяти она занимает
  • Какие операции можно с ней выполнять

1.1. Основные типы данных

  • Целочисленные типы:
    • int (от -2,147,483,648 до 2,147,483,647) — основной тип для целых чисел
    • byte (0 до 255) — для небольших положительных чисел
    • long — для очень больших целых чисел
  • Типы с плавающей точкой:
    • float — 7 знаков после запятой
    • double (по умолчанию) — 15-16 знаков
    • decimal — для финансовых расчетов (28-29 знаков)
  • Логический тип:
    • bool — может быть true или false
  • Символьные и строковые типы:
    • char — один символ в одинарных кавычках
    • string — последовательность символов в двойных кавычках

1.2. Объявление и инициализация переменных

В C# переменные можно объявлять несколькими способами:

// 1. Объявление с последующей инициализацией int age; age = 25; // 2. Объявление с инициализацией double price = 9.99; // 3. Использование var (тип определяется автоматически) var name = "Алексей"; // компилятор определяет тип как string

Важно: C# — язык со строгой типизацией. После объявления переменной её тип изменить нельзя.

2. Условные операторы

Условные операторы позволяют управлять потоком выполнения программы в зависимости от условий.

2.1. Оператор if-else

Базовый инструмент для ветвления логики программы:

int temperature = 23; if (temperature > 30) { Console.WriteLine("Жарко!"); } else if (temperature > 20) { Console.WriteLine("Тепло"); } else { Console.WriteLine("Прохладно"); }

2.2. Оператор switch-case

Идеален для множественного выбора, когда нужно сравнить одну переменную с несколькими значениями:

string dayOfWeek = "Понедельник"; switch (dayOfWeek) { case "Понедельник": Console.WriteLine("Начало рабочей недели"); break; case "Пятница": Console.WriteLine("Скоро выходные!"); break; case "Суббота": case "Воскресенье": Console.WriteLine("Выходной день"); break; default: Console.WriteLine("Обычный рабочий день"); break; }

Совет: Начиная с C# 8.0, появились более выразительные switch-выражения с использованием стрелки =>.

3. Циклы

Циклы позволяют повторять выполнение блока кода несколько раз.

3.1. Цикл for

Используется, когда известно точное количество итераций:

// Вывод чисел от 1 до 5 for (int i = 1; i <= 5; i++) { Console.WriteLine($"Текущее число: {i}"); }

3.2. Цикл while

Выполняется, пока условие истинно:

int counter = 0; while (counter < 3) { Console.WriteLine($"Итерация: {counter}"); counter++; }

3.3. Цикл foreach

Специально предназначен для перебора коллекций:

string[] fruits = { "Яблоко", "Банан", "Апельсин" }; foreach (string fruit in fruits) { Console.WriteLine(fruit); }

Важно: В цикле foreach нельзя изменять коллекцию, по которой происходит итерация.

4. Массивы и коллекции

Для работы с наборами данных в C# используются массивы и коллекции.

4.1. Массивы

Массивы имеют фиксированный размер после создания:

// Создание массива тремя способами int[] numbers1 = new int[3]; // массив из 3 нулей int[] numbers2 = new int[] { 1, 2, 3 }; int[] numbers3 = { 4, 5, 6 }; // Доступ к элементам по индексу Console.WriteLine(numbers2[1]); // Выведет 2

4.2. Списки (List<T>)

Гибкие коллекции с динамическим размером:

// Создание списка List<string> colors = new List<string>(); // Добавление элементов colors.Add("Красный"); colors.Add("Зелёный"); // Получение количества элементов Console.WriteLine(colors.Count); // Выведет 2

5. Методы

Методы позволяют структурировать код и избегать повторений.

5.1. Простые методы

// Метод без возвращаемого значения (void) void PrintMessage(string message) { Console.WriteLine($"Сообщение: {message}"); } // Вызов метода PrintMessage("Привет, мир!");

5.2. Методы с возвращаемым значением

// Метод, возвращающий сумму двух чисел int Add(int a, int b) { return a + b; } // Использование результата int result = Add(5, 3); Console.WriteLine($"5 + 3 = {result}");

6. Работа с консолью

Базовый ввод-вывод в консольных приложениях.

6.1. Вывод данных

// WriteLine выводит текст с переводом строки Console.WriteLine("Первая строка"); Console.WriteLine("Вторая строка"); // Write выводит текст без перевода строки Console.Write("Текст "); Console.Write("в одной строке");

6.2. Ввод данных

// Чтение строки Console.Write("Введите ваше имя: "); string name = Console.ReadLine(); // Чтение числа (с преобразованием) Console.Write("Введите ваш возраст: "); int age = int.Parse(Console.ReadLine()); Console.WriteLine($"Привет, {name}, вам {age} лет!");

7. Обработка исключений

Исключения позволяют корректно обрабатывать ошибки в программе.

try { Console.Write("Введите число: "); int number = int.Parse(Console.ReadLine()); Console.WriteLine($"Вы ввели: {number}"); } catch (FormatException) { Console.WriteLine("Ошибка: введено не число!"); } catch (Exception ex) { Console.WriteLine($"Неизвестная ошибка: {ex.Message}"); } finally { Console.WriteLine("Блок finally выполнится в любом случае"); }

Практическое задание

Создайте программу-калькулятор, которая:

  1. Запрашивает у пользователя два числа
  2. Предлагает выбрать операцию (+, -, *, /)
  3. Выводит результат
  4. Обрабатывает возможные ошибки (деление на ноль, неверный ввод)

Заключение

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

[IMAGE: Программист празднует успешное завершение проекта]

Статья сгенерирована AI.