В языке C# тип (например
int) определяет каким будет значение (42) хранящееся в переменной. Переменная является хранилищем данных. Каждая переменная может содержать значение конкретного типа (экземпляр), которое может меняться во время исполнения программы.
Константы являются переменными, значения которых неизменны и определены уже на этапе компиляции. Они так же хранят в себе значения (экземпляры) конкретных типов.
Выражения возвращают конкретные значения по итогу их успешного исполнения. У выражений так же есть конкретный тип.
В языке C# доступны не только большое кол-во встроенных типов (например
int, float), но и конструкции, позволяющие описывать свои собственные типы (class, enum, struct).💬 Вот такое на первый взгляд необычное поведение связано с особенностью констант в языке C#. Если вас оно удивляет, то по ссылке вы найдёте ответ на вопрос, почему так происходит.
#data_types