- ВСТУПЛЕНИЕ
Здравствуйте, дорогие друзья! Сегодня я бы хотел познакомить Вас с базовыми, или как их иногда называют примитивные, типами данных в C#
Стоить отметить то, что C# строго типизированный язык и, следовательно, именно программисту придётся отслеживать и контролировать все преобразования между типами.
- СИНТАКСИС ЯЗЫКА
Принцип работы с переменной любого типа одинаков:
data_type NameVariable;
Разберем последовательно что значат все эти слова на примерах.
data_type - это непосредственно имя нашего типа данных
NameVariable - это название переменной
Требования к имени переменной
- должно начинаться со знака нижнего подчеркивания "_" или латинской буквы в любом регистре;
- не должно быть ключевым словом C#
- не должно содержать знаков пунктуации (точек, запятых и т. п.), не должны присутствовать символы прочих алфавитов, т. е. кириллицы или иных.
- ГРУППЫ ТИПОВ ДАННЫХ
Все типы данных можно разбить на несколько групп:
- встроенные типы;
- пользовательские типы;
- универсальные типы;
- неявные типы.
В данной статье мы будем говорить только о встроенных типах, прочие типы данных разберем в последующих.
- ВСТРОЕННЫЕ ПРОСТЫЕ И ССЫЛОЧНЫЕ ТИПЫ ДАННЫХ
Принципиальным отличием между данными типами является способ представления данных в памяти.
При работе с переменными простых типов (или типов значений) мы работаем непосредственно со значением, который храниться в переменных.
При работе же со ссылочными типами данных нам предоставляется ссылка на область в памяти, в которой храниться те или иные данные.
- ЦЕЛОЧИСЛЕННЫЕ ТИПЫ ДАННЫХ
Стоит отметить то, что у абсолютно любого типа данных можно выделить общие характеристики:
- диапазон значений, который можно;
- размер переменной, занимаемый в памяти компьютера.
Как следует из названия данная группа типов данных описывает только целочисленные данные.
Если внимательно присмотреться к таблице, то можно заметить следующую особенность: после каждого типа данных (за исключением sbyte и byte) идет тип данных с почти идентичным названием, но иным диапазоном в сторону положительных чисел.
Приставка "u" в начале каждого типа данных означает "unsigned" - "беззнаковый", т. е. в данном типе данных можно представить числа больше или равные нулю.
- ВЕЩЕСТВЕННЫЕ ТИПЫ ДАННЫХ
Как и говорилось выше данные типы данных можно характеризовать диапазоном и размером занимаемым в памяти, но так же добавляется точность представления числа.
Данная характеристика отвечает за количество чисел после знака запятой. В десятичной системе счисления не все дробные значения возможно представить конечной записью. Например, 1/3 или число Пи, такие числа называют иррациональными. Компьютер же ограничен физически объемом доступной ему памятью и поэтому те или иные вещественные типы данных имеют разную степень точности.
Стоит отметить, что чем выше точность, с которой вы работаете тем и больше требуется ресурсов для обработки переменных, как с точки зрения потребления памяти, так и процессорной мощности при вычислении.
- СИМВОЛЬНЫЙ ТИП ДАННЫХ
Тип данных "char" занимает несколько особое значение среди всех типов данных - это связано со спецификой представление символов в памяти компьютера.
char SymbolOne = 'j';
char SymbolTwo = (char)106;
char SymbolThree = '\u006A';
Все три переменных записанных выше записаны правильно и корректно считаются компилятором, причем при попытке вывести эти переменные в консоль мы получим некий символ.
Как видеть мы получили один и тот же символ, но записанный 3 разными способами, причем тождественными друг относительно друга.
Все символы в C# закодированы при помощи Юникода.
- ССЫЛОЧНЫЕ ТИПЫ ДАННЫХ
Всего существует 4 встроенных ссылочных типа данных:
- object - этот тип имеет совершенно особенное положение среди всех типов данных. Все типы, стандартные и определенные пользователем, ссылочные и типы значений напрямую или косвенно наследуются от System.Object, а сам тип данных object - псевдоним System.Object. Такая запутанная система связана с тем, что C# является объектно ориентированным языком программирования и каждый из типов данных представляет собой некий класс или структуру, а System.Object определяет базовые принципы работы с типами данных;
- string - по сути своей представляет последовательность символов типа char. Логика следующая: если char - это один символ, то string - это уже слово или целое предложение;
- dynamic - технический тип данных, существующий исключительно в процессе компиляции, используется для осуществлении проверки типа данных той или иной переменно в процессе компиляции;
- delegate - позволяет создать свою собственную сигнатуру метода, более подробное рассмотрение этого типа данных будет в статье про методы.
- Источники: