💀
Второй курс РПО
C#
C#
  • Типы данных и переменные
  • Массивы и списки
  • Управляющие конструкции
  • Методы
  • Классы и объекты
  • Инкапсуляция, наследование и полиморфизм
  • Интерфейсы
  • Обработка исключений
  • Работа с файлами
  • Делегаты и события
  • Краткие определения основных понятий
  • Вопросы с контрольной
  • Тестовые вопросы по темам
Powered by GitBook
On this page
  • Основные типы данных
  • Полезные советы

Типы данных и переменные

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

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

C# делит типы данных на значимые (value types) и ссылочные (reference types). Значимые типы хранят данные напрямую, а ссылочные — ссылку на данные в памяти.

Значимые типы (Value Types)

Значимые типы включают числовые, логические и другие простые типы. Вот основные из них:

  • Целые числа:

    • int — 32-битное целое число (от -2,147,483,648 до 2,147,483,647).

      int age = 25; // Объявление и инициализация переменной
      WriteLine(age); // Вывод: 25
    • byte — 8-битное целое без знака (0–255).

    • short — 16-битное целое (-32,768–32,767).

    • long — 64-битное целое (очень большие числа).

  • Числа с плавающей точкой:

    • float — 32-битное число с плавающей точкой, требует суффикс f.

      float temperature = 36.6f;
      WriteLine(temperature); // Вывод: 36.6
    • double — 64-битное число с плавающей точкой, более точное.

    • decimal — 128-битное число для финансовых вычислений, требует суффикс m.

  • Логический тип:

    • bool — хранит true или false.

      bool isStudent = true;
      WriteLine(isStudent); // Вывод: True
  • Символьный тип:

    • char — один символ Unicode, задаётся в одинарных кавычках.

      char grade = 'A';
      WriteLine(grade); // Вывод: A

Ссылочные типы (Reference Types)

Ссылочные типы хранят ссылку на данные. Если переменная не инициализирована, она равна null.

  • Строка:

    • string — последовательность символов, задаётся в двойных кавычках.

      string name = "Алексей";
      WriteLine(name); // Вывод: Алексей
  • Объект:

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

      object anything = 42; // Может хранить любой тип
      WriteLine(anything); // Вывод: 42

Объявление переменных

Переменная объявляется с указанием типа и имени. Инициализация (присваивание значения) необязательна, но рекомендуется.

using static System.Console;

class Program
{
    static void Main(string[] args)
    {
        int number = 10; // Объявление и инициализация
        double pi = 3.14;
        string greeting = "Привет, мир!";
        WriteLine($"{number}, {pi}, {greeting}");
        // Вывод: 10, 3.14, Привет, мир!
    }
}

Неявная типизация с var

Ключевое слово var позволяет компилятору самому определить тип переменной на основе присваиваемого значения. Используется только при инициализации.

var count = 42; // Компилятор поймёт, что это int
var message = "Hello"; // Это string
WriteLine($"{count}, {message}"); // Вывод: 42, Hello

Почему void — не тип данных?

void используется в методах для указания, что метод не возвращает значение. Это не тип данных, а скорее индикатор отсутствия возвращаемого результата. Например:

static void SayHello()
{
    WriteLine("Привет!");
}

Здесь SayHello не возвращает никаких данных, поэтому используется void. В отличие от типов вроде int или string, void нельзя использовать для объявления переменных.

Константы и неизменяемые переменные

  • const — задаёт константу, значение которой нельзя изменить. Задаётся при компиляции.

    const double Pi = 3.14159;
    // Pi = 3.14; // Ошибка: константу нельзя изменить
  • readonly — переменная, которую можно задать только в конструкторе или при объявлении.

    readonly int maxValue = 100;

Полезные советы

  • Выбирайте тип данных, подходящий по размеру и назначению (например, byte для маленьких чисел, decimal для денег).

  • Используйте var для упрощения кода, но только если тип очевиден.

  • Для методов, не возвращающих данные, используйте void.

NextМассивы и списки

Last updated 6 days ago