В любом языке программирования предусмотрены типы для хранения целых и вещественных чисел. Язык С# использует для этих данных типы CTS, но снабжает их псевдонимами. Система псевдонимов, с одной стороны, сохраняет названия типов языков С и С++, что облегчает освоение С# широкому кругу программистов. С другой стороны, упрощается кодирование программы, так как псевдонимы типов представляют собой зарезервированные слова и используются без ссылки на пространство имен System. Например, два следующих объявления создают переменные для хранения 32-разрядных целых чисел:
int x;
System.Int32 y;
В табл. 5.1 перечислены псевдонимы С# и соответствующие им типы CTS для работы с числами.
Таблица 5.1. Типы для работы с числами
| Тип С# | Тип CTS | Диапазон значений | Описание |
| sbyte | SByte | От –128 до +127 | Знаковое 8-разрядное целое число |
| byte | Byte | От 0 до 255 | Беззнаковое 8-разрядное целое число |
| short | Int16 | От –32 768 до +32 767 | Знаковое 16-разрядное целое число |
| ushort | UInt16 | От 0 до 65 535 | Беззнаковое 16-разрядное целое число |
| int | Int32 | От –2 147 483 648 до +2 147 483 647 | Знаковое 32-разрядное целое число |
| uint | UInt32 | От 0 до 4 294 967 295 | Беззнаковое 32-разрядное целое число |
| long | Int64 | От –9 223 372 036 854 775 808 до +9 223 372 036 854 775 807 | Знаковое 64-разрядное целое число |
| ulong | UInt64 | От 0 до 18 446 744 073 709 551 615 | Беззнаковое 64-разрядное целое число |
| float | Single | От 1,5 10-45 до 3,4 1038 | 32-разрядное вещественное число |
| double | Double | От 5,0 10-324 до 1,7 10308 | 64-разрядное вещественное число |
| decimal | Decimal | От –295 до +295 | Знаковое 96-разрядное целое число |
Каждый из указанных типов ссылается на структуру, в которой помимо методов, унаследованных от System.Object (в том числе ToString()) имеется метод Parse() и два поля, предназначенные только для чтения, — MinValue и MaxValue. Метод Parse() преобразует, если это возможно, строковое представление числа в машинную форму. Поля содержат соответственно минимально и максимально возможные значения типа.
Программа, представленная в листинге 5.2, показывает некоторые данные для типа decimal (файл Ch05\Decimals\Program.cs).
Листинг 5.2. Работа с данными типа decimal
using System;
using System.Collections.Generic;
using System.Text;
namespace Decimals
{
class Decimal
{
static void Main()
{
decimal d;
Console.WriteLine("Тип decimal:\n");
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();
}
}
}
0 коммент.:
Отправить комментарий