ПОНЯТНО О Visual Basic NET (том 2)

Статические переменные


Исчезновение значения локальной переменной при выходе из процедуры – это хорошо, но не всегда удобно. Пусть мы хотим подсчитывать количество нажатий на кнопку Button1. Приведенная ниже процедура почти подходит, но она не будет накапливать счетчик, так как при каждом вызове процедуры счетчик обнуляется в результате инициализации:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim Счетчик As Integer

        Счетчик = Счетчик + 1

        TextBox1.Text = Счетчик

End Sub

Делать счетчик модульной переменной не хочется, никому он кроме нас не нужен. Чтобы счетчик не обнулялся, объявим его статической переменной:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Static Счетчик As Integer

        Счетчик = Счетчик + 1

        TextBox1.Text = Счетчик

End Sub

Статическая переменная объявляется не словом Dim, а словом Static. Это обычная локальная переменная, но с одним отличием: ее значение не уничтожается после выхода из процедуры и доживает до следующего ее вызова.

Теперь все в порядке. Счетчик накапливается. А для других процедур переменная невидима.

Пока об областях видимости нам достаточно. Более подробную информацию вы найдете в 21.9.



Содержание раздела