Статические переменные
Сайт создан в системе uCoz
Меню сайта


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


Форма входа


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

PayPal:

LiqPay or Credit/Debit Card:

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




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

  • Все вопросы касающиеся Neil Scope (7126)
  • инвертор на микропроцессоре с 12\220v с синусом на выходе (3)
  • Предложения по работе сайта и форума (18)
  • Изготовление ПП (7)
  • NeiLogicAnalyzer (48)
  • Двухполярный линейный БП с управлением на МК (91)
  • Заказ плат под NeilScope3 (12.2015) (60)
  • Первое знакомство с микроконтроллерами Silabs (105)
  • Куплю плату NS-3 (0)
  • Подскажите (0)



  • Статистика

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



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






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

    Основы 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 увеличится в каждом из двух конструкторов).