×
Traktatov.net » Описание языка PascalABC.NET » Читать онлайн
Страница 30 из 252 Настройки

* T1 и T2 эквивалентны

* T1 и T2 принадлежат к целым типам

* T1 и T2 принадлежат к вещественным типам

* Один из типов - поддиапазон другого или оба - поддиапазоны некоторого типа

* T1 и T2 - множества с совместимыми базовыми типами

Совместимость типов по присваиванию

Говорят, что значение типа T2 можно присвоить переменной типа T1 или тип T2 совместим по присваиванию с типом T1, если выполняется одно из следующих условий:

* T1 и T2 совместимы

* T1 - вещественного типа, T2 - целого

* T1 - строкового типа, T2 - символьного

* T1 - pointer, T2 - типизированный указатель

* T1 - указатель или процедурная переменная, T2=nil

* T1 - процедурная переменная, T2 - имя процедуры или функции с соответствующим списком параметров

* T1, T2 - классовые типы, один из них - наследник другого. Поскольку в PascalABC.NET все типы кроме указателей являются потомками типа Object, то значение любого типа (кроме указателей) можно присвоить переменной типа Object

* T1 - тип интерфейса, T2 - тип класса, реализующего этот интерфейс

Если тип T2 совместим по присваиванию с типом T1, то говорят также, что тип T2 неявно приводится к типу T1.

Отображение на типы .NET

Стандартные типы PascalABC.NET реализуются типами библиотеки классов .NET. Далее приводится таблица соответствий стандартных типов PascalABC.NET и типов .NET.

Тип PascalABC.NET

Тип .NET

int64

System.Int64

uint64

System.UInt64

integer, longint

System.Int32

longword, cardinal

System.UInt32

BigInteger

System.BigInteger

smallint

System.Int16

word

System.UInt16

shortint

System.SByte

byte

System.Byte

boolean

System.Boolean

real

System.Double

double

System.Double

char

System.Char

string

System.String

object

System.Object

arrayof T

T[]

record

struct

Выражения и операции

Выражения и операции: обзор

Выражение - это конструкция, возвращающая значение некоторого типа. Простыми выражениями являются переменные и константы, например:

3.14

x

Более сложные выражения строятся из простых с помощью операций, вызовов функций и скобок. Данные, к которым применяются операции, называются операндами.

В PascalABC.NET имеются следующие операции: @, not, ^, *, /, div, mod, and, shl, shr, +, -, or, xor, =, >, <, <>, <=, >=, as, is, in, =>, а также операция new и операция приведения типа.

Операции @, -, +, ^, not, операция приведения типа и операция new являются унарными (имеют один операнд), остальные являются бинарными (имеют два операнда), операции + и - являются и бинарными и унарными.

Порядок выполенения операций определяется их приоритетом. В языке PascalABC.NET четыре уровня приоритетов операций, задаваемых таблицей приоритетов.

Для типов, определенных пользователем, ряд операций можно перегружать.

Справка по операциям PascalABC.NET

* Арифметические операции

* Логические операции

* Операции сравнения

* Строковые операции

* Побитовые операции

* Операции с множествами

* Операция явного приведения типов

* Операции is и as

* Операция new

* Операция @ получения адреса

* Операции с указателями

* Операции typeof и sizeof

Арифметические операции

К арифметическим относятся бинарные операции +, -, *, / для вещественных и целых чисел, бинарные операции