Типы данных имеют особенное значение в С#, поскольку это строго типизированный язык. Это означает, что все операции под- вергаются строгому контролю со стороны компилятора на соответст- вие типов, причем недопустимые операции не компилируются. Такая строгая проверка типов позволяет предотвратить ошибки и повысить надежность программ. Для обеспечения контроля типов все перемен- ные, выражения и значения должны принадлежать к определенному типу. Такого понятия, как бестиповая переменная, допустимая в ряде скриптовых языков, в C# вообще не существует. Более того, тип зна-
чения определяет те операции, которые разрешается выполнять над ним. Операция, разрешенная для одного типа данных, может оказать- ся недопустимой для другого.
Рис. 2.1. Структура типов данных
Целочисленные типы
В С# определены девять целочисленных типов: char, byte, sbyte, short, ushort, int, uint, long и ulong. Тип char может хранить числа, но чаще используется для представления символов. Остальные восемь целочисленных типов предназначены для числовых расчетов.
Некоторые целочисленные типы могут хранить как положительные, так и отрицательные значения (sbyte, short, int и long), другие же – только положительные (char, byte, ushort, uint и ulong).
Типы с плавающей точкой
Такие типы позволяют представлять числа с дробной частью. В С# имеются три разновидности типов данных с плавающей точкой: float, double и decimal. Первые два типа представляют числовые значения с одинарной и двойной точностью, вычисления над ними выполняются аппаратно и поэтому быстро. Тип decimal служит для представления чисел с плавающей точкой высокой точности без округления, характер-
ного для типов float и double. Вычисления с использованием этого ти- па выполняются программно и поэтому более медленны.
Числа, входящие в выражения, C# по умолчанию считает целочис- ленными. Поэтому следующее выражение будет иметь значение 0, ведь если 1 нацело разделить на 2, то получится как раз 0:
double x = 1 / 2;
Чтобы этого не происходило, в подобных случаях нужно явно ука- зывать тип чисел с помощью символов-модификаторов: f для float и d для double. Приведенный выше пример правильно будет выглядеть так:
double x = 1d / 2d;
Иногда в программе возникает необходимость записать числа в экспоненциальной форме. Для этого после мантиссы числа записыва- ется символ «e» и сразу после него – порядок. Например, число 2,5·10–2 будет записано в программе следующим образом:
2.5e‐2
Символьные типы
В С# символы представлены не 8-разрядным кодом, как во многих других языках программирования, а 16-разрядным кодом, который на- зывается юникодом (Unicode). В юникоде набор символов представлен настолько широко, что он охватывает символы практически из всех ес- тественных языков на свете.
Основным типом при работе со строками является тип string, за- дающий строки переменной длины. Тип string представляет последо- вательность из нуля или более символов в кодировке Юникод. По сути, текст хранится в виде последовательной доступной только для чтения коллекции объектов char.
Логический тип данных
Тип bool представляет два логических значения: «истина» и «ложь». Эти логические значения обозначаются в С# зарезервированными словами true и false соответственно. Следовательно, переменная или выражение типа bool будет принимать одно из этих логических значений.
Рассмотрим самые популярные данные – переменные и константы. Переменная – это ячейка памяти, которой присвоено некоторое имя, и это имя используется для доступа к данным, расположенным в данной ячейке.
Для каждой переменной задается тип данных – диапазон всех возможных значений для данной переменной. Объявляются переменные непосредст- венно в тексте программы. Лучше всего сразу присвоить им начальное значение с помощью знака присвоения «=» (переменная = значение):
int a; // Только объявление
int b = 7; // Объявление и инициализация
Для того чтобы присвоить значение символьной переменной, дос- таточно заключить это значение (т. е. символ) в одинарные кавычки:
char ch; // Только объявление
char symbol = 'Z'; // Объявление и инициализация
Частным случаем переменных являются константы. Константы – это переменные, значения которых не меняются в процессе выполнения программы. Константы описываются как обычная переменная, только с ключевым словом const впереди:
const int c = 5;
Достарыңызбен бөлісу: |