C# (произносится как "си шарп") — это современный, объектно-ориентированный язык программирования, разработанный Microsoft. Он широко используется для создания Windows-приложений, игр на движке Unity, веб-сервисов и мобильных приложений. В этой статье мы подробно разберём все основные конструкции языка, которые помогут вам начать программировать на C#.
Переменные в C# — это контейнеры для хранения данных. Каждая переменная имеет определенный тип, который определяет:
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
— последовательность символов в двойных кавычкахВ C# переменные можно объявлять несколькими способами:
// 1. Объявление с последующей инициализацией
int age;
age = 25;
// 2. Объявление с инициализацией
double price = 9.99;
// 3. Использование var (тип определяется автоматически)
var name = "Алексей"; // компилятор определяет тип как string
Важно: C# — язык со строгой типизацией. После объявления переменной её тип изменить нельзя.
Условные операторы позволяют управлять потоком выполнения программы в зависимости от условий.
Базовый инструмент для ветвления логики программы:
int temperature = 23;
if (temperature > 30)
{
Console.WriteLine("Жарко!");
}
else if (temperature > 20)
{
Console.WriteLine("Тепло");
}
else
{
Console.WriteLine("Прохладно");
}
Идеален для множественного выбора, когда нужно сравнить одну переменную с несколькими значениями:
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-выражения с использованием стрелки =>.
Циклы позволяют повторять выполнение блока кода несколько раз.
Используется, когда известно точное количество итераций:
// Вывод чисел от 1 до 5
for (int i = 1; i <= 5; i++)
{
Console.WriteLine($"Текущее число: {i}");
}
Выполняется, пока условие истинно:
int counter = 0;
while (counter < 3)
{
Console.WriteLine($"Итерация: {counter}");
counter++;
}
Специально предназначен для перебора коллекций:
string[] fruits = { "Яблоко", "Банан", "Апельсин" };
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
Важно: В цикле foreach нельзя изменять коллекцию, по которой происходит итерация.
Для работы с наборами данных в C# используются массивы и коллекции.
Массивы имеют фиксированный размер после создания:
// Создание массива тремя способами
int[] numbers1 = new int[3]; // массив из 3 нулей
int[] numbers2 = new int[] { 1, 2, 3 };
int[] numbers3 = { 4, 5, 6 };
// Доступ к элементам по индексу
Console.WriteLine(numbers2[1]); // Выведет 2
Гибкие коллекции с динамическим размером:
// Создание списка
List<string> colors = new List<string>();
// Добавление элементов
colors.Add("Красный");
colors.Add("Зелёный");
// Получение количества элементов
Console.WriteLine(colors.Count); // Выведет 2
Методы позволяют структурировать код и избегать повторений.
// Метод без возвращаемого значения (void)
void PrintMessage(string message)
{
Console.WriteLine($"Сообщение: {message}");
}
// Вызов метода
PrintMessage("Привет, мир!");
// Метод, возвращающий сумму двух чисел
int Add(int a, int b)
{
return a + b;
}
// Использование результата
int result = Add(5, 3);
Console.WriteLine($"5 + 3 = {result}");
Базовый ввод-вывод в консольных приложениях.
// WriteLine выводит текст с переводом строки
Console.WriteLine("Первая строка");
Console.WriteLine("Вторая строка");
// Write выводит текст без перевода строки
Console.Write("Текст ");
Console.Write("в одной строке");
// Чтение строки
Console.Write("Введите ваше имя: ");
string name = Console.ReadLine();
// Чтение числа (с преобразованием)
Console.Write("Введите ваш возраст: ");
int age = int.Parse(Console.ReadLine());
Console.WriteLine($"Привет, {name}, вам {age} лет!");
Исключения позволяют корректно обрабатывать ошибки в программе.
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 выполнится в любом случае");
}
Создайте программу-калькулятор, которая:
В этой статье мы рассмотрели все основные конструкции языка C#. Эти знания — фундамент для дальнейшего изучения программирования. Попробуйте написать несколько простых программ, чтобы закрепить материал. В следующих статьях мы рассмотрим более сложные темы: объектно-ориентированное программирование, работу с файлами и базами данных.
Статья сгенерирована AI.
Статья о самых значительных исторических событиях, которые повлияли на развитие человечества.
Статья с полезными советами для тех, кто только начинает заниматься фитнесом. Узнайте, как поставить цели, выбрать упражнения, следить за питанием и мотивировать себя.
Откройте для себя 20 эффективных идей для изучения иностранных языков. Советы, приложения, методы и практики для всех уровней.
Статья о самых необычных музыкальных инструментах, которые поражают своей оригинальностью и звучанием.
Статья о типичных ошибках при организации мероприятий и практических рекомендациях по их предотвращению.
Практические советы и рекомендации для преодоления трудностей в обучении. Узнайте, как улучшить свои результаты и сделать процесс обучения более эффективным.