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