# 3.8. Static Variables¶

You may define static variables (variables defined with the word static inside the class, but outside of any function definition). These variables are visible inside all of your functions in the class. Instead of local scope, static variables have class scope. It is good programming practice generally to avoid defining static variables and instead to put your variables inside functions and explicitly pass them as parameters where needed. There are exceptions. For now a good reason for using static variables is constants: A constant is a name that you give a fixed data value to. If you have a static definition of a constant, then you can then use the name of the fixed data value in expressions in any function in the class. A simple example program is constant/constant.cs:

using System;

class UseConstant
{
static double PI = 3.14159265358979; // constant, value not reset

{
}

{

See that PI is used in two functions without being declared locally.