СТАНДАРТНЫЕ ПРОСТЫЕ ТИПЫ ДАННЫХ
К простым типам данных относятся типы, которые не могут быть представлены в виде множества более простых элементов. В этом смысле переменную простого типа можем рассматривать как переменную, имеющую одно значение в текущий момент времени.
Все стандартные простые данные определены в MSDN на основе структур, т.е. относятся к типам значений. Поскольку эти типы определены в MSDN, ими могут пользоваться программы на любых языках, определенных на этой платформе. Язык С# имеет собственные синонимы этих типов.
Для обработки данных простых типов используются предопределенные операции, обозначаемые специальными знаками. Кроме того, можно использовать поля и методы, определенные в типе.
У всех простых типов есть статические поля, хранящие максимальное (MaxValue)и минимальное (MinValue) значения для данного типа данных.
Статический методпреобразования строки символов в значение заданного типа:
Тип. Parse (строка символов) => значение заданного типа
Метод объектадля преобразования значения в строку символов:
Объект. ToString () => строка символов, в которую преобразовано значение объекта.
Данные в программе могут присутствовать либо в виде переменных, либо в виде констант. Форма записи константы однозначно определяет ее значение и тип. Тип переменной должен быть определен путем явного объявления. Переменные при объявлении могут быть инициализированы любым значением, определенным на момент объявления.
Целочисленные типы
Целые числа со знаком
Тип С# Тип CTS Длина, байт
sbyte Sbyte 1
short Int16 2
int Int32 4
long Int64 8
Целые числа без знака
Тип С# Тип CTS Длина, байт
byte Byte 1
ushort UInt16 2
uint UInt32 4
ulong UInt64 8
Константы:
Десятичные ±XXX, где Х - десятичная цифра
Шестнадцатеричные ± 0х YYY,где Y – 16-ричная цифра
Тип константы определяется как первый подходящий, начиная с типа int. Возможно указание типа константы в явном виде (с помощью суффикса):
255 L – имеет тип long (L-это суффикс)
255 U – беззнаковая
255 UL – беззнаковая длинная (ulong)
Примеры объявления переменных
inta, b=10, c=int.Parse(“355”), d=b+c, e=short.MaxValue;
Вещественныетипы
ТипС# CTS Длина,байтТочность,цифрДиапазон
float Single 4 7 ≈|10-45|÷≈|1038|
double Double 8 15 ≈|10-324|÷≈|10308|
Константы
форма F ±XXX.YYY
формаE ±МантиссаЕ ±Порядок
Примеры констант:
5.5 => 5,5 5.0 => 5,0 5. => 5,0
0.5 => 0,5 .5 => 0,5 2.5 E2 => 2,5*102 => 250,0
Все константы имеют тип данныхdouble. Тип константы может быть изменен cпомощью суффикса F:
25.5 =>double
25.5F =>float
Примеры объявления переменных
double a, d=.5, c=double.Parse(“5. 5”);
Десятичный тип (денежный тип)
Представляет собой вещественное значение, причем способ кодирования этого значения не совпадает ни с одним способом кодирования вещественных чисел. Поэтому денежный тип несовместим ни с одним вещественным типом.
Тип С# CTS Длина,байтТочность,цифрДиапазон
decimal Decimal 16 28 ≈|10-28|÷≈|1028|
Константы
Целая или вещественная константа с суффиксом М: 25.5М
Логический тип
ТипС #CTS
bool Bool
Константы
false – ложь
true - истина
Логический тип несовместим ни с каким другим типом.
Символьный тип
ТипС #CTS
char Char
На один символ отводится область памяти длиной 2 байта. В этой области содержится код символа в таблице кодировки Unicode.
Константы записываются в виде управляющей последовательности или в виде символа, заключенного в апострофы:
´\ uXXXX ´ -где XXXX – 16-й код символа по таблице кодировки
‘Символ’
Пример: ‘A’ или ´\u0041’ - это код латинской буквы A
Символьный тип имеет статические методы:
ОПЕРАЦИИ СО СТАНДАРТНЫМИ ПРОСТЫМИ ТИПАМИ ДАННЫХ
Выражение и оператор
Выражение – операнды, объединенные знаками операций. Любое выражение, завершенное ”;” – оператор. Одиночный символ ”;”, не относящийся ни к одному оператору – пустой оператор.
Операндами могут быть:
1. Вызов метода
2. Переменная
3. Константа
4. Выражение
Операции имеют приоритет. Приоритет предписывает очередность выполнения операций в выражении. Операции одного приоритета выполняются слева направо. Исключения будут оговорены особо. Порядок операций можно регулировать скобками“()”.
В зависимости от числа операндов различают:
1) Унарные
2) Бинарные
3) Тернарные
Приоритеты операций по группам:
· Вызов метода
· Унарные операции
· Арифметические операции
· Сдвиги
· Отношения
· Битовые
· Логические
· Тернарная
· Присваивание
Операции присваивания
Простое присваивание
А=В
1. Вычисляется значение В
2. Если тип переменной А и тип выражения В не совпадают, то значение В преобразуется к типу А
3. Значение В заносится в область памяти, отведенную для переменной А
int a, b;
a=10;
b=5;
a=a+b;
Операции присваивания выполняются справа налево.
inta, b, с;
a = b = c =100;
Составное присваивание объединяет присваивание и одну из бинарных операций
А * =В => А=А * В, где * – бинарная операция
inta =10;
a +=3; // a = a +3; a =13
Преобразование типов выполняется автоматически при выполнении следующих условий:
1. Типы совместимы
2. Преобразование не приведет кпотери информации
Совместимые типы
Приемник Источник
bool bool
char char
decimal decimal, char, целыйтип
целый тип целый тип, char
вещественный тип вещественный тип, целый тип, char
Если типы совместимы, проверяется возможность потери информации при преобразовании. Потери возможны:
1. При присваивании целой переменной вещественного значения (теряется дробная часть)
2. При присваивании переменной с меньшим диапазоном значений значения переменной с большим диапазоном значений.
В случае возможности потери информации фиксируется ошибка.
Рассмотренная схема преобразования типов уникальна только для операции присваивания, во всех остальных операциях действует другая схема.