Найти тему

Типы данных в C#

  • ВСТУПЛЕНИЕ

Здравствуйте, дорогие друзья! Сегодня я бы хотел познакомить Вас с базовыми, или как их иногда называют примитивные, типами данных в C#

Стоить отметить то, что C# строго типизированный язык и, следовательно, именно программисту придётся отслеживать и контролировать все преобразования между типами.

  • СИНТАКСИС ЯЗЫКА

Принцип работы с переменной любого типа одинаков:

data_type NameVariable;

Разберем последовательно что значат все эти слова на примерах.

data_type - это непосредственно имя нашего типа данных

NameVariable - это название переменной

Требования к имени переменной

  • должно начинаться со знака нижнего подчеркивания "_" или латинской буквы в любом регистре;
  • не должно быть ключевым словом C#
  • не должно содержать знаков пунктуации (точек, запятых и т. п.), не должны присутствовать символы прочих алфавитов, т. е. кириллицы или иных.
  • ГРУППЫ ТИПОВ ДАННЫХ

Все типы данных можно разбить на несколько групп:

  • встроенные типы;
  • пользовательские типы;
  • универсальные типы;
  • неявные типы.

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

  • ВСТРОЕННЫЕ ПРОСТЫЕ И ССЫЛОЧНЫЕ ТИПЫ ДАННЫХ

Принципиальным отличием между данными типами является способ представления данных в памяти.

При работе с переменными простых типов (или типов значений) мы работаем непосредственно со значением, который храниться в переменных.

При работе же со ссылочными типами данных нам предоставляется ссылка на область в памяти, в которой храниться те или иные данные.

  • ЦЕЛОЧИСЛЕННЫЕ ТИПЫ ДАННЫХ
Сводная таблица всех целочисленных типов данных взята с официального сайта Microsoft
Сводная таблица всех целочисленных типов данных взята с официального сайта Microsoft

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

  1. диапазон значений, который можно;
  2. размер переменной, занимаемый в памяти компьютера.

Как следует из названия данная группа типов данных описывает только целочисленные данные.

Если внимательно присмотреться к таблице, то можно заметить следующую особенность: после каждого типа данных (за исключением sbyte и byte) идет тип данных с почти идентичным названием, но иным диапазоном в сторону положительных чисел.

Приставка "u" в начале каждого типа данных означает "unsigned" - "беззнаковый", т. е. в данном типе данных можно представить числа больше или равные нулю.

  • ВЕЩЕСТВЕННЫЕ ТИПЫ ДАННЫХ
Сводная таблица всех вещественных типов данных взята с официального сайта Microsoft
Сводная таблица всех вещественных типов данных взята с официального сайта Microsoft

Как и говорилось выше данные типы данных можно характеризовать диапазоном и размером занимаемым в памяти, но так же добавляется точность представления числа.

Данная характеристика отвечает за количество чисел после знака запятой. В десятичной системе счисления не все дробные значения возможно представить конечной записью. Например, 1/3 или число Пи, такие числа называют иррациональными. Компьютер же ограничен физически объемом доступной ему памятью и поэтому те или иные вещественные типы данных имеют разную степень точности.

Стоит отметить, что чем выше точность, с которой вы работаете тем и больше требуется ресурсов для обработки переменных, как с точки зрения потребления памяти, так и процессорной мощности при вычислении.

  • СИМВОЛЬНЫЙ ТИП ДАННЫХ

Тип данных "char" занимает несколько особое значение среди всех типов данных - это связано со спецификой представление символов в памяти компьютера.

char SymbolOne = 'j';
char SymbolTwo = (char)106;
char SymbolThree = '\u006A';

Все три переменных записанных выше записаны правильно и корректно считаются компилятором, причем при попытке вывести эти переменные в консоль мы получим некий символ.

Результат вывода значений в консоль
Результат вывода значений в консоль

Как видеть мы получили один и тот же символ, но записанный 3 разными способами, причем тождественными друг относительно друга.

Все символы в C# закодированы при помощи Юникода.

  • ССЫЛОЧНЫЕ ТИПЫ ДАННЫХ

Всего существует 4 встроенных ссылочных типа данных:

  1. object - этот тип имеет совершенно особенное положение среди всех типов данных. Все типы, стандартные и определенные пользователем, ссылочные и типы значений напрямую или косвенно наследуются от System.Object, а сам тип данных object - псевдоним System.Object. Такая запутанная система связана с тем, что C# является объектно ориентированным языком программирования и каждый из типов данных представляет собой некий класс или структуру, а System.Object определяет базовые принципы работы с типами данных;
  2. string - по сути своей представляет последовательность символов типа char. Логика следующая: если char - это один символ, то string - это уже слово или целое предложение;
  3. dynamic - технический тип данных, существующий исключительно в процессе компиляции, используется для осуществлении проверки типа данных той или иной переменно в процессе компиляции;
  4. delegate - позволяет создать свою собственную сигнатуру метода, более подробное рассмотрение этого типа данных будет в статье про методы.
  • Источники: