Using Static Variables


Visual Basic .NET Unleashed
By Paul Kimmel
Table of Contents
Chapter 3.  Basic Programming in Visual Basic .NET

Using Static Variables

The mechanics for declaring static variables require that you replace Dim with Static as demonstrated in the following function:

 Function GetCounter() As Integer   Static Counter As Integer = 0   Counter += 1   Return Counter End Function 

Each time GetCounter is called, Counter will be incremented by 1. The first time GetCounter is called it will return 1, and each subsequent call to GetCounter will return Counter + 1. (Note the use of the new addition and assignment operator, +=.)


You cannot use the compound operators, like +=, in an initialization statement for a variable. For example, Static Counter As Integer += 1 will cause a compiler error.

A function like GetCounter is a good way to get a unique value during the program's run.

Static Variables and Memory

Procedure variables are created in stack memory. The stack memory is temporary memory. Items are added to the stack as local variables are declared in a procedure and removed when the procedure ends. Static variables are actually created in the data segment. The memory for static variables is allocated and remains as long as your program is running, just as variables declared outside of a procedure in a module are.


Visual BasicR. NET Unleashed
Visual BasicR. NET Unleashed
Year: 2001
Pages: 222 © 2008-2017.
If you may any questions please contact us: