Основные типы данных

April 7, 2010 by admin Комментировать »

В C# поддерживается стандартный набор типов данных. Для каждого типа данных, поддерживаемого C#, существует соответствующий тип .NET Common Language Runtime. Например, тип int в C# соответствует типу System.Int32 времени выполнения. В большинстве случаев вместо типа int можно указывать System.Int32, однако подобные замены не рекомендуются, поскольку это усложняет чтение программы.

Основные типы данных перечислены в следующей таблице. Типы данных времени выполнения определяются в пространстве имен System среды .NET Common Language Runtime.

Тип

Размер в байтах

Тип времени выполнения

Описание

byte

1

Byte

Байт без знака

sbyte

1

SByte

Байт со знаком

short

2

Int16

Короткое целое со знаком

ushort

2

UInt16

Короткое целое без знака

int

4

Int32

Целое со знаком

uint

4

UInt32

Целое без знака

long

8

Int64

Длинное целое со знаком

ulong

8

UInt64

Длинное целое без знака

float

4

Single

Число с плавающей точкой

double

8

Double

Число с плавающей точкой двойной точности

decimal

8

Decimal

Число с фиксированной точностью

string

 

String

Строка Unicode

char

 

Char

Символ Unicode

bool

 

Boolean

Логическая величина

Различия между базовыми (встроенными) и пользовательскими типами в C# в основном искусственны, поскольку пользовательские типы работают практически так же, как встроенные. В сущности, единственное отличие встроенных типов данных от пользовательских заключается в том, что во встроенные типы можно записывать литералы.

Типы данных делятся на ссылочные (reference types) и структурные (value types). Память для структурных типов выделяется либо из стека, либо в соответствии со специальным механизмом, который описан ниже. Объекты ссылочных типов размещаются в куче.

И ссылочные, и структурные типы являются производными от корневого базового класса object. В тех ситуациях, когда структурный тип должен действовать как object, в куче создается временный объект, имитирующий поведение ссылочного объекта. В созданный объект копируются данные из структурного объекта. При этом временный объект снабжается специальной пометкой, чтобы система знала, к какому типу он относится. Этот процесс называется упаковкой (boxing), а обратный процесс называется распаковкой (unboxing). Механизм упаковки обеспечивает возможность интерпретировать любой тип как object, что позволяет использовать конструкции следующего вида:

using System;

class Hello

{

public static void Main(string[] args)

{

Console.WriteLine("Value is: {0}", 3);

}

}

В этом примере целое число 3 упаковывается, и для упакованного значения вызывается функция Int32.ToString().

Массивы C# могут быть многомерными или ступенчатыми (jagged). Нетривиальные структуры данных (например, стеки и хеш-таблицы), относятся к пространству имен System.Collections.

Программы тренировок для набора массы и сушки

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты