|
Программирование >> Обработка исключительных ситуаций
Так называемая область действия переменной, то есть область программы, г, можно использовать переменную, начинается в точке ее описания и длит< до конца блока, внутри которого она описана. Блок - это код, заключеннь в фигурные скобки. Основное назначение блока - группировка операторо В С# любая переменная описана внутри какого-либо блока: класса, метода ш блока внутри метода. Имя переменной должно быть уникальным в области ее действия. Область де ствия распространяется на вложенные в метод блоки, из этого следует, что i вложенном блоке нельзя объявить переменную с таким же именем, что и в охв тывающем его, например: class X { int А; int В; начало описания класса X поле А класса X поле В класса X void Y() { int С; int А; метод Y класса локальная переменная С, область действия - метод Y локальная переменная А (НЕ конфликтует с полем А) int D; int А: С = В: вложенный блок 1 локальная переменная D, область действия - этот блок недопустимо! Ошибка компиляции, конфликт с локальной переменной А присваивание переменной С поля В класса X (**) this.А: присваивание переменной С поля А класса X (***) конец блока 1 int D; вложенный блок 2 локальная переменная D, область действия этот блок конец блока 2 конец описания метода Y класса конец описания класса X Давайте разберемся в этом примере. В нем описан класс X, содержащий TJ элемента: поле А, поле В и метод Y. Непосредственно внутри метода Y заданы д. локальные переменные - С и А. Внутри метода класса можно описывать переменную с именем, совпадаюнн с полем класса, потому что существует способ доступа к полю класса с щью ключевого слова this (это иллюстрирует строка, отмеченная символами Таким образом, локальная переменная А не закрывает поле А класса X, а вот п пытка описать во вложенном блоке другую локальную переменную с тем именем окончится неудачей (эти строки закомментированы). Если внутри метода нет локальных переменных, совпадающих с полями класс к этим полям можно обратиться в методе непосредственно (см. строку, помеченн} Именованные константы символами **) . Две переменные с именем D не конфликтуют между собой, поскольку блоки, в которых они описаны, не вложены один в другой. СОВЕТ- Как правило, переменным с большой областью действия даются более длинные имена, а для переменных, вся жизнь которых - несколько строк исходного текста, хватит и одной буквы с комментарием при объявлении. В листинге 3.1 приведен пример программы, в которой описываются и выводятся на экран локальные переменные. Листинг 3.1 . Описание переменных using System; namespace ConsoleAppl icationl { class Classl { static void MainO double decimal string 4.12; 600m; Вася ; Console.Write( Console.WriteC Console.Write( Console.Write( ) Consol е. Writel ine( i ) ) Consolе.WriteLine( у ) ) Console.Writel ine( d ) ) Console.Writel ine( s ) Как вы догадались, метод Write делает то же самое, что и WriteLine, но не переводит строку. Более удобные способы вывода рассмотрены в конце этой главы в разделе Простейший ввод-вывод (см. с. 59). ВНИМАНИ Е -. Переменные создаются при входе в их область действия (блок) и уничтожаются при выходе. Это означает, что после выхода из блока значение переменной не сохраняется. При повторном входе в этот же блок переменная создается заново. Именованные константы Можно запретить изменять значение переменной, задав при ее описании ключевое слово const, например: const int b = const float x 0:1, у 0.If: const распространяется на обе переменные Такие величины называют именованными константами, или просто констаь тами. Они применяются для того, чтобы вместо значений констант можно был использовать в программе их имена. Это делает программу более понятной и об легчает внесение в нее изменений, поскольку изменить значение достаточн только в одном месте программы. ПРИМЕЧАНИЕ- Улучшение читабельности происходит только при осмысленном выборе имен кон стант. В хорошо написанной программе вообще не должно встречаться иных 4ncej кроме 0 и 1, все остальные числа должны задаваться именованными константам] с именами, отражающими их назначение. Именованные константы должны обязательно инициализироваться при описа нии. При инициализации можно использовать не только константу, но и выра жение - главное, чтобы оно было вычисляемым на этапе компиляции, например const int b const int х 1. а = 100: b * а + 25: Операции и выражения Выражение - это правило вычисления значения. В выражении участвуют one ранды, объединенные знаками операций. Операндами простейшего выражение могут быть константы, переменные и вызовы функций. Например, а + 2 - это выражение, в котором + является знаком операции, а а и 2 -операндами. Пробелы внутри знака операции, состоящей из нескольких символов, не допускаются. По количеству участвующих в одной операции операндов операции делятся на унарные, бинарные и тернарную. Операции С# приведены в табл. 3.11. Таблица3.1. Операции С# Категория
Первичные В этой таблице символ х призван показать расположение операнда и не является частью знака операции.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |