Мы поможем в написании ваших работ!
ЗНАЕТЕ ЛИ ВЫ?
|
Справочные таблицы по типам данных
Содержание книги
- Общеязыковая исполняющая среда CLR
- Общеязыковая спецификация CTS
- Однофайловые и многофайловые сборки
- Командная строка Visual Studio (2010)
- Компиляция нескольких файлов исходного кода
- Основы объектно-ориентированного программирования
- Комментарии к XML-документация
- Справочные таблицы по типам данных
- Понятие «Переменная», «Поле» и «Константа»
- Область видимости типов переменных
- Неявные типы, анонимные типы и типы допускающие значение NULL
- Основные ключевые слова и операторы
- Операторы, типы операторов, выражения и виды операторов
- Операторы, вычисление значения и приоритет операторов
- Поразрядные операторы и, или, исключающее или и не
- Применение операторов: тернарный оператор
- Применение операторов: «do-while» и «foreach»
- Понятие «Класс», «Структура», «Объект» и «Индексатор»
- Понятие «модификатор доступа»
- Конструкторы экземпляра класса и статические члены класса
- Деструкторы экземпляра класса
- Понятие «Абстрактный класс», «Запечатанный класс» и «Разделяемые классы» и «Разделяемые методы»
- Понятие «Разделяемые методы»
- Экземпляры классов в сравнении с экземплярами классов
- Передача аргументов по значению и передача по ссылке
- Метод: именованные и необязательные аргументы
- Свойство: модификаторы доступа в аксессорах
- Передача многомерных массивов в качестве аргументов
- Неявно типизированные массивы
- Введение в регулярные выражения
- Последствия «не перехвата» исключений
- Конфигурирование состояние исключений
- Создание специальных исключений
- Операторы «throw» и «finally»
- Ключевые слова «checked» и «unchecked»
- Базовые классы «System.MulticastDelegate» и «System.Delegate»
- Применение методов экземпляра в качестве делегатов
- Перегрузка укороченных логических операторов
- Защищенный доступ и исключение наследования
- Виртуальные методы, свойства и индексаторы
- Глава 5. Интегрированная среда разработки Microsoft VIsual Studio 2010
- Windows Workflow Foundation (WF)
- Утилита «Обозреватель решение» («Solution Explorer»)
- Дополнительные команды отладки исходного кода
- Встроенная справочная система
Справочные таблицы по типам данных
Таблица встроенных типов
В приведённой ниже таблице представлены ключевые слова для встроенных типов данных C#, которые являются псевдонимами предопределенных типов в пространстве имён System:
Тип C#
| Тип.NET Framework
| bool
| System.Boolean
| byte
| System.Byte
| sbyte
| System.SByte
| char
| System.Char
| decimal
| System.Decimal
| double
| System.Double
| float
| System.Single
| int
| System.Int32
| uint
| System.UInt32
| long
| System.Int64
| ulong
| System.UInt64
| object
| System.Object
| short
| System.Int16
| ushort
| System.UInt16
| string
| System.String
|
Все типы в таблице, за исключением типов object и string, относятся к простым типам.
Ключевые слова типов C# и их псевдонимы являются взаимозаменяемыми. Например, можно объявить целочисленную переменную при помощи одного из следующих объявлений:
int x = 123;
System.Int32 x = 123;
Для отображения фактического типа для любого типа C# используется системный метод GetType. Например, следующий оператор отображает системный псевдоним, который представляет тип myVariable:
Console.WriteLine(myVariable.GetType());
Таблица целых типов
В следующей таблице представлены размеры и диапазоны целых типов, которые составляют подмножество простых типов:
Тип C#
| Диапазон
| Размер
| sbyte
| От -128 до 127
| 8-разрядное знаковое целое число
| byte
| От 0 до 255
| 8-разрядное целое число без знака
| char
| от U+0000 до U+ffff
| 16-разрядный символ Юникода
| short
| От -32 768 до 32 767
| 16-разрядное знаковое целое число
| ushort
| От 0 до 65 535
| 16-разрядное целое число без знака
| int
| От -2 147 483 648 до 2 147 483 647
| 32-разрядное знаковое целое число
| uint
| От 0 до 4 294 967 295
| 32-разрядное целое число без знака
| long
| От -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807
| 64-разрядное целое число со знаком
| ulong
| От 0 до 18 446 744 073 709 551 615
| 64-разрядное целое число без знака
|
Если значение, представленное целочисленным литералом, выходит за пределы диапазона значений типа ulong, то происходит ошибка компиляции.
Таблица типов с плавающей запятой
В следующей таблице представлены приблизительные диапазоны типов с плавающей запятой:
Тип C#
| Приблизительный диапазон
| Точность
| float
| От ±1,5e−45 до ±3,4e38
| 7 знаков
| double
| От ±5,0e−324 до ±1,7e308
| 15-16 знаков
|
Таблица значений по умолчанию
В приведенной ниже таблице показаны значения по умолчанию типов значений, возвращаемые конструкторами по умолчанию. Конструкторы по умолчанию вызываются с помощью оператора new, как показано ниже:
int myInt = new int();
Указанный выше оператор действует точно так же, как и следующий оператор:
int myInt = 0;
C# не допускается использование неинициализированных переменных.
Тип С#
| Значение по умолчанию
| bool
| false
| byte
|
| char
| '\0'
| decimal
| 0,0M
| double
| 0,0D
| enum
| Значение, созданное выражением (E)0, где E — идентификатор перечисления.
| float
| 0,0F
| int
|
| long
| 0L
| sbyte
|
| short
|
| struct
| Значение, полученное путем установки значений по умолчанию для полей типов значений и установки значения null для полей ссылочных типов.
| uint
|
| ulong
|
| ushort
|
|
Таблица типов значений
В следующей таблице перечислены типы значений в C# по категориям:
Тип C#
| Категория
| Суффикс типа
| bool
| Boolean, логическое значение
| | byte
| Целое число без знака
| | char
| Целое число без знака
| | decimal
| Дробное число
| M или m
| double
| Число с плавающей запятой
| D или d
| enum
| Перечисление
| | float
| Число с плавающей запятой
| F или f
| int
| Целое число со знаком
| | long
| Целое число со знаком
| L или l
| sbyte
| Целое число со знаком
| | short
| Целое число со знаком
| | struct
| Пользовательская структура
| | uint
| Целое число без знака
| U или u
| ulong
| Целое число без знака
| UL или ul
| ushort
| Целое число без знака
| |
6. Таблица неявных числовых преобразования
В следующей таблице показаны предопределенные неявные преобразования чисел. Неявные преобразования могут выполняться во многих ситуациях, включая вызов методов и операторы назначения:
Исходный тип
| Цель
| sbyte
| short, int, long, float, double или decimal
| byte
| short, ushort, int, uint, long, ulong, float, double или decimal
| short
| int, long, float, double или decimal
| ushort
| int, uint, long, ulong, float, double или decimal
| int
| long, float, double или decimal
| uint
| long, ulong, float, double или decimal
| long
| float, double или decimal
| char
| ushort, int,uint,long, ulong,float,double или decimal
| float
| double
| ulong
| float, double или decimal
|
- Преобразования из int, uint или long в float и из long в double могут сопровождаться потерей точности, но не потерей величин.
- Не поддерживается неявное преобразование в тип char.
- Неявные преобразования между типами с плавающей запятой и типом decimal отсутствуют.
- Выражение константы int можно преобразовать в sbyte, byte, short, ushort, uint или ulong при условии, что значение выражения константы находится в диапазоне типа назначения.
7. Таблица явных числовых преобразований
Явное числовое преобразование используется для преобразования любого числового типа в любой другой числовой тип, для которого отсутствует неявное преобразование, с помощью выражения приведения. В следующей таблице приведено описание этих преобразований:
Исходный тип
| Цель
| sbyte
| byte, ushort, uint, ulong или char
| byte
| Sbyte или char
| short
| sbyte, byte, ushort, uint, ulong или char
| ushort
| sbyte,byte,short илиchar
| int
| sbyte,byte,short,ushort,uint,ulongилиchar
| uint
| sbyte, byte,short,ushort,int илиchar
| long
| sbyte,byte,short,ushort,int,uint,ulong илиchar
| ulong
| sbyte,byte,short,ushort,int,uint,long илиchar
| char
| sbyte, byte илиshort
| float
| sbyte,byte,short,ushort,int,uint,long,ulong,charилиdecimal
| double
| sbyte,byte,short,ushort,int,uint,long,ulong,char,floatилиdecimal
| decimal
| sbyte,byte,short,ushort,int,uint,long,ulong,char,floatилиdouble
|
- Явное числовое преобразование может привести к потере точности или вызвать исключения.
- Во время преобразования значения decimal в целочисленный тип оно округляется в сторону нуля до ближайшего целого значения.Если полученное целое значение выходит за допустимые пределы значений конечного типа, возникает исключение OverflowException.
- Во время преобразования значения double или float в целочисленный тип оно усекается. Если полученное целое значение выходит за допустимые пределы конечного значения, результат зависит от контекста проверки переполнения. В контексте с проверкой возникает исключение OverflowException, а в контексте без проверки результатом является неуказанное значение конечного типа.
- При преобразовании double в float, значение double округляется до ближайшего значения float. Если значение double слишком мало или слишком велико для конечного типа, результатом является нуль или бесконечность.
- При преобразовании float или double в decimal исходное значение преобразуется в представление decimal и округляется до ближайшего числа после 28-го десятичного знака, если это необходимо. В зависимости от исходного значения может быть получен один из следующих результатов:
- Если исходное значение слишком мало для представления в качестве decimal, результатом является нуль.
- Если исходное значение не является числом, равно бесконечности или слишком велико для представления в качестве decimal, возникает исключение OverflowException.
- При преобразовании decimal в float или double, значение decimal округляется до ближайшего значения double или float.
Таблица форматирования числовых результатов
Для форматирования числовых результатов можно использовать метод String.Format, а также метод Console.Write или Console.WriteLine, который вызывает метод String.Format. Формат задаётся с помощью строк формата. В следующей таблице приведены поддерживаемые строки стандартных форматов. Строка формата принимает следующую форму: Axx, где A — описатель формата, а xx — описатель точности. Описатель формата управляет типом форматирования, применяемым к числовому значению, а описатель точности управляет количеством значащих цифр или десятичных знаков форматированного результата:
Знак
| Описание
| Примеры
| Output
| C или c
| Валюта
| Console.Write("{0:C}", 2.5);
Console.Write("{0:C}", -2.5);
| $2.50
($2.50)
| D или d
| Десятичное число
| Console.Write("{0:D5}", 25);
|
| E или e
| Научный формат
| Console.Write("{0:E}", 250000);
| 2.500000E+005
| F или f
| Формат с фиксированной запятой
| Console.Write("{0:F2}", 25);
Console.Write("{0:F0}", 25);
| 25.00
| G или g
| Общий формат
| Console.Write("{0:G}", 2.5);
| 2.5
| N или n
| Числовой формат
| Console.Write("{0:N}", 2500000);
| 2,500,000.00
| X или x
| Шестнадцатеричный формат
| Console.Write("{0:X}", 250);
Console.Write("{0:X}", 0xffff);
| FA
FFFF
|
|