×
Traktatov.net » C# 4.0: полное руководство » Читать онлайн
Страница 29 из 650 Настройки


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

Типы данных имеют особенное значение в С#, поскольку это строго типизированный язык. Это означает, что все операции подвергаются строгому контролю со стороны компилятора на соответствие типов, причем недопустимые операции не компилируются. Следовательно, строгий контроль типов позволяет исключить ошибки и повысить надежность программ. Для обеспечения контроля типов все переменные, выражения и значения должны принадлежать к определенному типу. Такого понятия, как "бестиповая" переменная, в данном языке программирования вообще не существует. Более того, тип значения определяет те операции, которые разрешается выполнять над ним. Операция, разрешенная для одного типа данных, может оказаться не-. допустимой для другого.

----------------------------------

ПРИМЕЧАНИЕ

В версии C# 4.0 внедрен новый тип данных, называемый >dynamic и приводящий к отсрочке контроля типов до времени выполнения, вместо того чтобы производить подобный контроль во время компиляции. Поэтому тип >dynamic является исключением из обычного правила контроля типов во время компиляции. Подробнее о типе >dynamic речь пойдет в главе 17.

----------------------------------


Типы значений в C#

В C# имеются две общие категории встроенных типов данных: типы значений и ссылочные типы. Они отличаются по содержимому переменной. Если переменная относится к типу значения, то она содержит само значение, например 3,1416 или 212. А если переменная относится к ссылочному типу, то она содержит ссылку на значение. Наиболее распространенным примером использования ссылочного типа является класс, но о классах и ссылочных типах речь пойдет далее в этой книге. А здесь рассматриваются типы значений.

В основу языка C# положены 13 типов значений, перечисленных в табл. 3.1. Все они называются простыми типами, поскольку состоят из единственного значения. (Иными словами, они не состоят из двух или более значений.) Они составляют основу системы типов С#, предоставляя простейшие, низкоуровневые элементы данных, которыми можно оперировать в программе. Простые типы данных иногда еще называют примитивными.


Таблица. 3.1. Типы значений в C#


>Тип        >Значение


>bool       >Логический, предоставляет два значения: “истина” или “ложь”

>byte       >8-разрядный целочисленный без знака

>char       >Символьный

>decimal    >Десятичный (для финансовых расчетов)

>double     >С плавающей точкой двойной точности

>float      >С плавающей точкой одинарной точности

>int        >Целочисленный

>long       >Длинный целочисленный

>sbyte      >8-разрядный целочисленный со знаком

>short      >Короткий целочисленный

>uint       >Целочисленный без знака

>ulong      >Длинный целочисленный без знака

>ushort     >Короткий целочисленный без знака


В C# строго определены пределы и характер действия каждого типа значения. Исходя из требований к переносимости программ, C# не допускает в этом отношении никаких компромиссов. Например, тип int должен быть одинаковым во всех средах выполнения. Но в этом случае отпадает необходимость переписывать код для конкретной платформы. И хотя строгое определение размерности типов значений может стать причиной незначительного падения производительности в некоторых средах, эта мера необходима для достижения переносимости программ.