Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Типы данных. (http://msdn.microsoft.com/ru-ru/library/ms173104.aspx)



(http://msdn.microsoft.com/ru-ru/library/ms173104.aspx)

(http://msdn.microsoft.com/ru-ru/library/3ewxz6et.aspx)

Значащие и ссылочные типы

Пример 2.2. Демонстрация изменений переменных значащих и ссылочных типов.

Using System;

// Определяем структуру с двумя целочисленными полями

Struct Foo

{ public int x, у;

}

Class ValRefClass

{ static void Main()

{ // Создаем две переменные класса Foo

Foo f1 = new Foo();

Foo f2 = new Foo();

f1.x = 100;

f1.y = 200;

f2 = f1; // Присваивание переменной f1 значение переменной f2

// Вывод значений переменных

Console.WriteLine("fl.x = {0}", f1.x);

Console.WriteLine("fl.y = {0}", f1.y);

Console.WriteLine("f2.x = {0}", f2.x);

Console.WriteLine("f2.у = {0}", f2.y);

f1.x = 300; // Изменение f1

// Вывод полей x обеих переменных

Console.WriteLine("После изменения f1.x:");

Console.WriteLine("f1.x = {0}", f1.x);

Console.WriteLine("f2.x = {0}", f2.x);

Console.ReadLine();

}

}

/* Вывод (изменение переменных значащего типа):

fl.x = 100

fl.y = 200

f2.x = 100

f2.y = 200

После изменения f1.x:

fl.x = 300

f2.x = 100

*/

Вместо значащего типа struct можно использовать ссылочный тип class:

Class Foo

{ public int x, у;

}

/* Вывод (изменение переменных ссылочного типа):

fl.x = 100

fl.y = 200

f2.x = 100

f2.y = 200

После изменения f1.x:

fl.x = 300

f2.x = 300

*/

Таблица типов данных

Таблица 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.





Дата публикования: 2015-10-09; Прочитано: 133 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...