![](/user_photo/2706_HbeT2.jpg)
syap
.pdf![](/html/2706/293/html_DmIiFpA1EN.7Qcl/htmlconvd-RkzLkj121x1.jpg)
Типы значений
•Типы значений являются производными от System.ValueType, являющегося производным от System.Object.
•Типы, производные от System.ValueType, имеют особое поведение в среде CLR. Переменные типа значения напрямую содержат их значения, что означает, что память встроена в контекст, в котором объявлена переменная. Не существует отдельного размещения кучи или служебных данных сборки мусора для переменных типа значения.
![](/html/2706/293/html_DmIiFpA1EN.7Qcl/htmlconvd-RkzLkj122x1.jpg)
Ссылочные типы
•Тип, определенный как класс, делегат, массив или интерфейс, является ссылочным типом. Во время выполнения при объявлении переменной ссылочного типа переменная содержит значение null до явного создания экземпляра объекта с помощью оператора new или назначения его объекту, который был создан в другом месте, с помощью new
![](/html/2706/293/html_DmIiFpA1EN.7Qcl/htmlconvd-RkzLkj123x1.jpg)
Типы
значений
Эмблема
организации
![](/html/2706/293/html_DmIiFpA1EN.7Qcl/htmlconvd-RkzLkj124x1.jpg)
•C# предоставляет стандартный набор встроенных числовых типов для представления целых чисел, значений с плавающей запятой, логических выражений, текстовых символов, десятичных значений и других типов данных.Существуют также встроенные типы string и object. Они доступны для использования в любой программе C#.
![](/html/2706/293/html_DmIiFpA1EN.7Qcl/htmlconvd-RkzLkj125x1.jpg)
•В приведенной ниже таблице представлены ключевые слова для встроенных типов C#, которые являются псевдонимами предопределенных типов в пространстве имен System.
![](/html/2706/293/html_DmIiFpA1EN.7Qcl/htmlconvd-RkzLkj126x1.jpg)
Тип 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 |
![](/html/2706/293/html_DmIiFpA1EN.7Qcl/htmlconvd-RkzLkj127x1.jpg)
•Ключевые слова типов C# и их псевдонимы являются взаимозаменяемыми. Например, можно объявить целочисленную переменную при помощи одного из следующих объявлений.
•int x = 123;
•System.Int32 x = 123;
![](/html/2706/293/html_DmIiFpA1EN.7Qcl/htmlconvd-RkzLkj128x1.jpg)
Type sbyte
byte
char
short
ushort
int
uint
long
ulong
Диапазон От -128 до 127
От 0 до 255
от U+0000 до U+ffff
От -32 768 до 32 767
От 0 до 65 535
От -2 147 483 648 до 2 147 483 647
От 0 до 4 294 967 295
От -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807
От 0 до 18 446 744 073 709 551 615
Размер
8-разрядное знаковое целое число
8-разрядное целое число без знака
16-разрядный символ Юникода
16-разрядное знаковое целое число
16-разрядное целое число без знака
32-разрядное знаковое целое число
32-разрядное целое число без знака
64-разрядное целое число со знаком
64-разрядное целое число без знака
![](/html/2706/293/html_DmIiFpA1EN.7Qcl/htmlconvd-RkzLkj129x1.jpg)
Тип |
Приблизительный |
Точность |
|
диапазон |
|||
|
|
||
float |
От ±1,5e−45 до |
7 знаков |
|
±3,4e38 |
|||
|
|
||
double |
От ±5,0e−324 до |
15-16 знаков |
|
±1,7e308 |
|||
|
|
![](/html/2706/293/html_DmIiFpA1EN.7Qcl/htmlconvd-RkzLkj130x1.jpg)
•Ключевое слово decimal обозначает 128разрядный тип данных.По сравнению с типом данных с плавающей запятой, тип decimal имеет более точный и узкий диапазон, благодаря чему он походит для финансовых расчетов.В следующей таблице представлен приблизительный диапазон и точность для типа decimal.