Бесплатный курс по csharp. Зарегистрируйтесь для отслеживания прогресса →

C#: Зачем нужны типы данных

Внутри высокоуровневых языков программирования данные разделяются по типам. Например строки относятся к типу string, а числа — к типу int. Зачем нужны типы? Для защиты программы от трудноотловимых ошибок. Типы определяют две вещи:

  • Возможные (допустимые) значения. Например, числа в C# делятся на две группы типов: int и float. Первые — целые числа, вторые – рациональные. Такое разделение связано с техническими особенностями работы аппаратуры.
  • Набор операций, которые можно выполнять над этим типом. Например, операция умножения имеет смысл для типа «целые числа». Но не имеет смысла для типа «строки»: умножать слово «мама» на слово «блокнот» — бессмыслица.

Язык программирования распознает типы. Поэтому C# не позволит нам умножать строку на строку. Но позволит умножать целое число на другое целое число. Наличие типов и таких ограничений в языке защищает программы от случайных ошибок.

"one" * "two"
// error CS0019: Operator '*' cannot be applied to operands of type 'string' and 'string'

Каким образом C# понимает, что за тип данных перед ним? Достаточно просто. Любое значение где-то инициализируется и, в зависимости от способа инициализации, становится понятно, что перед нами. Например, число это просто число не обернутое в парные символы, например, кавычки. А вот строки всегда ограничены двойными кавычками. Например, такое значение "234" – строка, несмотря на то, что внутри нее записаны цифры.

// Компилятор понимает что тут число
var age = 33;

По-английски строки в программировании называются "strings", а строчки текстовых файлов называются "lines". Например, в коде выше одна строчка (lines), и нет никаких строк (strings). В русском иногда может быть путаница, поэтому во всех уроках мы будем говорить строка для обозначения типа данных «строка», и строчка для обозначения строчек (lines) в файлах.

Типов данных в C# много, плюс можно создавать свои. Постепенно мы познакомимся со всеми необходимыми и научимся их правильно использовать.

Задание

Выведите на экран результат деления 3 на 2. Подумайте почему получился такой ответ?


Советы

Определения

  • Тип данных - множество данных в коде (разновидность информации). Тип определяет, что можно делать с элементами конкретного множества. Например, целые числа, рациональные числа, строки — это разные типы данных.

  • Строка (string) - тип данных, описывающий набор символов (иными словами — текст); например, "text"


Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе