Область видимости
Конструктор сайтов - uCoz
Меню сайта


Поиск по сайту
Loading


Форма входа


Помощь проекту

PayPal:

LiqPay or Credit/Debit Card:

W1 "Единый кошелек":
199990419310
WebMoney:
WME - E509190786817
WMZ - Z195499640086
WMU - U204403357554
WMR - R280087882619




Активные темы

  • Все вопросы касающиеся Neil Scope (6423)
  • Продам плату Neil Scope 3 rev 3.2 (1)
  • Заказ плат под NeilScope3 (12.2015) (59)
  • Первое знакомство с микроконтроллерами Silabs (105)
  • инвертор на микропроцессоре с 12\220v с синусом на выходе (2)
  • Куплю плату NS-3 (0)
  • Подскажите (0)
  • Осваиваем LPC2478... (1)
  • Мелкие вопросы по МК51 от SiLabs-a.. (40)
  • Детали для Neil Scope 2 (0)



  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0



    Рекомендуемые браузеры: Mozzilla, Google Chrome






    Приветствую Вас, Пробегающий мимо · RSS 22.09.2017, 04:35

    Основы C#. Урок 17. Область видимости

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

     int k=3;
     //Все OK, переменая k видна
     Console.WriteLine(k);

    Тут значение переменной k доступно и выведется на экран.

     ...
     {
     int k=3;
     }
     //Переменая k не видна
     Console.WriteLine(k); //Ошибка!

    В этом же примере вывести k на экран не получится - она умерла на закрывающей фигурной скобке.

    Во вложенных областях видимости мы, как правило, не можем объявлять переменные с одинаковыми именами:

     int k=4;
     {
     //Ошибка!
     int k=3;
     }

    Исключение составляют параметры в методах класса:

     class Vector
     {
     float x, y; //Координаты
     ...
     public Vector(float x, float y)
     {
     this.x=x;
     this.y=y;
     }

    Здесь мы имеем две пары одноименных переменных - x в параметре конструктора и x как переменная класса. Так как для уточнения переменной класса мы можем использовать this, то ошибки не будет.