Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Указывает, что одна или несколько объявленных локальных переменных будут продолжать существовать и сохранять последние значения после завершения процедуры, в которой они объявлены.
Замечания
Как правило, локальная переменная в процедуре перестает существовать сразу после остановки процедуры. Статическую переменную продолжает существовать и сохраняет последнее значение. При следующем вызове процедуры переменная не инициализирована, и она по-прежнему содержит последнее значение, назначенное ему. Статическую переменную продолжает существовать в течение времени существования класса или модуля, в который он определен.
Правила
Контекст объявления. Можно использовать
Staticтолько для локальных переменных. Это означает, что контекст объявления дляStaticпеременной должен быть процедурой или блоком процедуры, и он не может быть исходным файлом, пространством имен, классом, структурой или модулем.Нельзя использовать
Staticвнутри процедуры структуры.Типы данных локальных
Staticпеременных не могут быть выведены. Дополнительные сведения см. в разделе "Вывод локальных типов".Объединенные модификаторы. Нельзя указать
Staticвместе сReadOnly,ShadowsилиSharedв том же объявлении.
Поведение
При объявлении статической переменной в процедуре Shared для всего приложения доступно только одна копия статической переменной. Вы вызываете процедуру Shared с помощью имени класса, а не переменной, указывающей на экземпляр класса.
При объявлении статической переменной в процедуре, которая не Sharedявляется, для каждого экземпляра класса доступна только одна копия переменной. Вы вызываете не общую процедуру с помощью переменной, указывающей на конкретный экземпляр класса.
Пример
В следующем примере показано использование Static.
Function updateSales(ByVal thisSale As Decimal) As Decimal
Static totalSales As Decimal = 0
totalSales += thisSale
Return totalSales
End Function
Переменная StatictotalSales инициализирована только один раз. Каждый раз, когда вы вводите updateSales, totalSales по-прежнему имеет последнее значение, которое вы вычисляете для него.
Модификатор Static можно использовать в этом контексте: