Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Справочные таблицы по типам данных

Поиск

 

Справочные таблицы по типам данных

 

Таблица встроенных типов

 

В приведённой ниже таблице представлены ключевые слова для встроенных типов данных 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

 



Поделиться:


Последнее изменение этой страницы: 2016-08-15; просмотров: 461; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.153.167 (0.007 с.)