Программирование >>  Программирование с использованием ajax 

1 ... 11 12 13 [ 14 ] 15 16 17 ... 396


Переменные

Как уже упоминалось ранее, переменные имеют отношение к хранению данных. По сути, к переменным в памяти компьютера можно относиться как к коробкам на полке. В коробки можно класть какие-то вещи и затем снова доставать их оттуда, или просто заглядывать в них и проверять, есть ли там вообще что-нибудь. То же самое и с переменными: в них можно помещать данные и затем при необходимости либо извлекать их оттуда, либо проверять их наличие.

Хотя все данные на компьютере, в сущности, имеют одинаковый вид (наборы нулей и единиц), переменные бывают разных видов, называемых в их случае типами. Если снова провести аналогию с коробками, то коробки бывают разных форм и размеров, из-за чего некоторые вещи могут умещаться только в коробках определенного вида. Объясняется наличие такой системы типов тем, что разные типы данных могут требовать использования разных методов для работы с ними, а ограничение переменных конкретными типами позволяет избегать их смешивания. Например, в обработке набора нулей и единиц, представляющего цифровое изображение, тем же образом, что и набора, представляющего аудио-ролик, не было бы никакого смысла.

Чтобы использовать переменные, их нужно объявлять. Это означает, что им необходимо назначать имя и тип. После объявления их можно начинать использовать в качестве единиц хранения для данных того типа, для хранения которого они предназначены согласно объявлению.

В синтаксисе С# объявление переменных осуществляется указанием типа и имени переменной:

<тип> <имя>;

При попытке использовать переменную, которая не была объявлена, код не будет компилироваться, но в отличие от остальных случаев компилятор будет точно сообщать причину возникшей проблемы, так что такой уж ужасной ошибкой это не является. При попытке использовать переменную без присваивания ей значения тоже будет возникать ошибка, но компилятор тоже ее распознает.

Количество типов, которые можно использовать, практически бесконечно. Все дело в том, что допускается определять свои собственные типы переменных для хранения каких угодно сложных видов данных. Несмотря на сказанное, однако, существует ряд таких типов переменных, которые рано или поздно нужно будет использовать любому разработчику, вроде переменной, позволяющей хранить числа. Поэтому об этих нескольких простых предопределенных типах необходимо знать каждому.

Простые типы

к числу простых типов относятся типы вроде числовых и булевских (true или false) значений, которые выступают в роли основных строительных блоков в любом приложении. В отличие от сложных типов, простые типы не могут иметь ни дочерних типов, ни атрибутов. Большинство из доступных простых типов являются числовыми, что на первый взгляд может показаться странным, ведь для хранения числа точно необходим один тип?

Причина такого изобилия числовых типов связана с механизмом хранения чисел в памяти компьютера в виде последовательностей нулей и единиц. В случае целочисленных значений просто берется ряд битов (отдельных цифр, которыми может быть О или 1) и представляется число в двоичном (бинарном) формате. Переменная, хранящая N битов, позволяет представлять любое число в диапазоне от О до (2- 1). Любые числа больше этого значения не умещаются в такой переменной.



Например, предположим, что имеется переменная, способная хранить 2 бита. Соответствие между целыми числами и представляющими их битами в случае этой переменной будет выглядеть следующим образом:

0 = 00

1 = 01

2 = 10

3 = 11

При желании иметь возможность сохранять больше чисел, потребуется больше битов (например, 3 бита позволяют хранить числа от О до 7).

Неизбежным результатом такой системы является то, что для получения возможности сохранять любое вообразимое число, понадобится бесконечное количество битов, которое никак не сможет уместиться в памяти обычного ПК. Даже при наличии определенного количества битов, которое можно применять для каждого числа, использовать все эти биты для переменной, требующейся для хранения, к примеру, только чисел в диапазоне от О до 10, будет не эффективным подходом (потому что будет приводить к растрате ресурсов памяти).

Вместо этого гораздо лучше применять другие целочисленные типы, способные хранить разные диапазоны чисел и занимающие разные объемы памяти (вплоть до 64 битов). Все эти типы перечислены в табл. 3.1.

Каждый из этих типов подразумевает использование одного из соответствующих стандартных типов, определенных в .NET Framework. Как уже рассказывалось в главе 7, именно такое применение стандартных типов обеспечивает функциональную совместимость языков. Имена, используемые для типов в С#, являются псевдонимами для тех типов, которые определены в .NET Framework. В табл. 3.1 имена типов представлены в виде, который они имеют в библиотеке .NETFramework.

Таблица 3.1. Основные целочисленные типы

Псевдоним

Допустимые значения

sbyte

System.SByte

Целое число в диапазоне от -128 до 127

byte

System.Byte

Целое число в диапазоне от 0 до 255

short

System.Intie

Целое число в диапазоне от -32768 до 32767

ushort

System.Ulntie

Целое число в диапазоне от 0 до 65535

System.Int32

Целое число в диапазоне от -2147483648 до 2147483647

uint

System.UInt32

Целое число в диапазоне от 0 до 4294967295

long

System.Int64

Целое число в диапазоне от -9223372036854775808 до 9223372036854775807

ulong

System.UInt64

Целое число в диапазоне от 0 до 18446744073709551615

Символы U в начале имен некоторых переменных являются сокращением от слова unsigned (без знака), которое указывает на то, что хранить отрицательные числа в переменных этих типов нельзя, о чем свидетельствуют значения в столбце Допустимые значения таблицы.

Разумеется, также бывает необходимо хранить значения с плавающей запятой, т.е. значения, которые не являются целыми числами. Для них доступны переменные трех следующих типов: float, double и decimal. Первые две позволяют хранить значения с плавающей запятой в виде ±шх2 , причем допустимые значения для ши еу них



отличаются. Что касается decimal, то переменная такого типа позволяет хранить значения в виде ±шх10 Все эти три типа переменных показаны в табл. 3.2 вместе с их допустимыми значениями для ш и и ограничениями в виде настоящих числовых показателей.

Таблица 3.2. Типы переменных для хранения чисел с плавающей запятой

Псевдоним для

Мин.

Макс.

Мин.

Макс.

Приблизительное мин. значение

Приблизительное макс, значение

float

System. Single

-149

1.5x10

3,4x10

double

System. Double

-1075

5,0x10

1.7x10°

decimal

System. Decimal

1.0x10-

7.9x10

Помимо числовых типов, еще также доступны и другие простые типы, которые перечислены в табл. 3.3.

Таблица 3.3. Нечисловые простые типы

Псевдоним для

Допустимые значения

char

System.Char

Одиночный символ Unicode, сохраняемый в виде целого числа в

диапазоне от 0 до 65535

bool

System.Boolean

Булево значение, которое может иметь вид либо true, либо false

string

System.String

Последовательность символов

Обратите внимание на то, что верхнего предела по количеству символов, которое может сохраняться в string, не существует, поскольку этот тип может использовать различные объемы памяти.

Булевский тип bool является одним из наиболее часто используемых типов переменных в С#, и на самом деле аналогичные типы не менее часто применяются и в других языках. Наличие переменной, которая может содержать либо значение true, либо значение false, играет очень важную роль в процессе выполнения логики приложения. В качестве простого примера, представьте, на какое количество вопросов можно ответить с помощью да или нет (т.е. посредством true или false). Выполнение сравнений между значениями переменных и проверка правильности входных данных являются лишь двумя наиболее типичными примерами программного применения булевских переменных, которые очень скоро будут рассмотрены более подробно.

Теперь, после ознакомления со всеми простыми типами, давайте разберем один небольшой пример, наглядно демонстрирующий способы их объявления и использования. В следующем практическом занятии приводится простой код, который объявляет две переменные, присваивает им значения и затем выводит эти значения на экран.

1ктическов зан!

Использование переменных простых типов

1. Создайте новое консольное приложение по имени Ch03Ex01 и сохраните его в каталоге С:\BegVCSharp\Chapter03.



1 ... 11 12 13 [ 14 ] 15 16 17 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика