Статические переменные
Конструктор сайтов - uCoz
Меню сайта


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


Форма входа


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

PayPal:

LiqPay or Credit/Debit Card:

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




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

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



  • Статистика

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


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






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

    Основы C#. Урок 21. Статические переменные

    Обычно переменные класса принадлежат конкретному экземпляру класса. Для обращения к таким переменным мы пишем что-то вроде

    MyClass z;
    k=z.data;

    Здесь переменная data принидлежит классу MyClass. Для каждого экземпляра класса она своя.

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

    Для объявления переменной статический надо использовать ключевое слово static. Вот пример:

     class MyClass
     {
     //Статическая переменная
     public static int data;
     //Конструктор
     public MyClass()
     {
     data++;
     }
    
     }
     class Test
     {
     public static void Main()
     {
     MyClass a=new MyClass();
     MyClass b=new MyClass();
     System.Console.WriteLine(MyClass.data);
     }
     }

    Указанный фрагмент выведет на экран, естественно, 2 (переменая data увеличится в каждом из двух конструкторов).