- •2. Основы языка c#
- •2.1. Основные элементы языка c#
- •2.1.1. Переменные и константы
- •2.1.2. Модификаторы доступа
- •2.1.3. Присваивание значений переменным
- •2.2. Типы данных
- •2.2.1. Значащие и ссылочные типы
- •2.2.2. Таблица типов данных
- •2.2.4. Совместимость типов
- •2.2.5. Методы преобразования типа
- •2.2.3. Приведение и преобразование типов
- •2.3. Общая структура программы на c#
- •Interface iYourInterface // определение интерфейса
- •2.3.1. Метод Main() и аргументы командной строки
- •2.3.2. Пространства имен
- •2.4. Выражения и операции
- •2.7. Методы класса System.Match
- •2.8. Методы класса System.Random
2.2.2. Таблица типов данных
Таблица 2.1. Типы данных
Тип С# / тип CTS |
Описание (размер в байтах) |
Диапазон значений |
Целые типы |
|
|
sbyte System.SByte |
Короткое целое число (1 байт) |
от -128 до +127 |
byte System.Byte |
Короткое целое число без знака (1 байт) |
от 0 до 255 |
short System.Int16 |
Целое число (2 байта) |
от -32 768 до +32 767 |
ushort System.UIntl6 |
Целое число без знака (2 байта) |
от 0 до 65 535 |
int System.Int32 |
Целое число (4 байта) |
от -2 147 483 648 до +2 147 483 647 |
uint System.UInt32 |
Целое число без знака (4 байта) |
от 0 до 4 294 967 295 |
long System.Int64 |
Длинное целое число (8 байтов) |
от -9 223 372 036 854 775 808 до +9 223 372 036 854 775 807 |
ulong System.UInt64 |
Длинное целое число без знака (8 байтов) |
от 0 до 18 446 744 073 709 551 615 |
Вещественные типы |
|
|
float System.Single |
Число с плавающей запятой (4 байта) |
от 1,5 · 10-45 до 3,4 · 1038 от -3,402 823 47 · 1038 до -1,401 298 · 10-45 для отрицательных величин и от +1,401 298 · 10-45 до +3,402 823 47 · 1038 для положительных величин |
double System.Double |
Число с плавающей запятой двойной точности (8 байтов) |
от 5.0 · 10-324 до 1,7 · 10308 от -1,797 693 134 862 315 7 · 10308 до -4,940 656 458 412 47 · 10-324 для отрицательных величин и от 4,940 656 458 412 47 · 10-324 до 1,797 693 134 862 315 7 · 10308 для положительных величин |
decimal System.Decimal |
Десятичное число с фиксированной запятой (16 байтов) |
от -7,9 · 1028 до +7,9 · 1028 ±79 228 162 514 264 337 593 543 950 335 – как целое число; ±7,9 228 162 514 264 337 593 543 950 335 – как десятичное число (28 разрядов после запятой); Наименьшее ненулевое значение: ±10-28 |
Логический тип |
|
|
bool System.Boolean |
Логическое значение (1 байт, зависит от платформы) |
true или false . Эти значения не отождествляются с целочисленными значениями |
Другие типы |
|
|
char System.Char |
16-битовый код символа в кодировке Unicode (2 байта) |
один символ (код – U+0000 ... U+ffff). Область U+0000 ... U+007f отведена для ASCII-кодов, U+0400 ... U+052f – для кириллицы |
Ссылочные типы |
(значения хранятся в куче) |
|
string System.String |
Строка (последовательность из нуля или более символов в кодировке Unicode) |
представляет собой неизменяемый объект в куче и рассматривается как массив символов. Любое изменение строки создает новый объект типа string, при этом старый объект не уничтожается |
object System.Object |
Ссылка на объект (4 байта – для 32-bit и 8 байт – для 64-bit платформ) |
любая ссылка на объект |
Структурный тип |
|
|
System.DateTime |
Дата и время (8 байтов) |
от 00:00:00 1 января 0001 года до 23:59:59 31 декабря 9999 года |
Пример 2.3. Вывод некоторых сведений о типе decimal.
using System;
using System.Collections.Generic;
using System.Text;
namespace Decimals
{ class Decimal
{ static void Main()
{ decimal d;
Console.WriteLine("Тип decimal:");
Console.WriteLine("Минимум: " +
decimal.MinValue.ToString("N"));
Console.WriteLine("Максимум: " +
decimal.MaxValue.ToString("N"));
d = decimal.Parse("-33333");
Console.WriteLine("GetType: " + d.GetType());
Console.WriteLine("d = {0}", d);
Console.ReadLine();
}
}
}
/* Вывод:
Тип decimal:
Минимум: -79 228 162 514 264 337 593 543 950 335.00
Максимум: 79 228 162 514 264 337 593 543 950 335.00
GetType: System.Decimal
d = -33333
*/
