C# Variables
C# Variables
Variables are containers for storing data values.
In C#, there are different types of variables (defined with different keywords), for example:
int
- stores integers (whole numbers), without decimals, such as 123 or -123double
- stores floating point numbers, with decimals, such as 19.99 or -19.99char
- stores single characters, such as 'a' or 'B'. Char values are surrounded by single quotesstring
- stores text, such as "Hello World". String values are surrounded by double quotesbool
- stores values with two states: true or false
Declaring (Creating) Variables
To create a variable, you must specify the type and assign it a value:
Syntax
type variableName = value;
Where type is a C# type (such as int
or string
), and
variableName is the name of the variable (such as x or
name). The equal sign is used to assign values to the variable.
To create a variable that should store text, look at the following example:
Example
Create a variable called name of type string
and assign it the value "John":
string name = "John";
Console.WriteLine(name);
To create a variable that should store a number, look at the following example:
Example
Create a variable called myNum of type int
and assign it the value 15:
int myNum = 15;
Console.WriteLine(myNum);
You can also declare a variable without assigning the value, and assign the value later:
Note that if you assign a new value to an existing variable, it will overwrite the previous value:
Example
Change the value of myNum
to 20:
int myNum = 15;
myNum = 20; // myNum is now 20
Console.WriteLine(myNum);
Constants
However, you can add the const
keyword if you don't want others (or yourself) to overwrite existing values (this will declare the variable as "constant", which means unchangeable and read-only):
Example
const int myNum = 15;
myNum = 20; // error
The const
keyword is useful when you want a variable to always store the same value, so that others (or yourself) won't mess up your code. An example that is often referred to as a constant, is PI (3.14159...).
Note: You cannot declare a constant variable without assigning the value. If you do, an error will occur: A const field requires a value to be provided.
Other Types
A demonstration of how to declare variables of other types:
Example
int myNum = 5;
double myDoubleNum = 5.99D;
char myLetter = 'D';
bool myBool = true;
string myText = "Hello";
You will learn more about data types in the next chapter.
Display Variables
The WriteLine()
method is often used to
display variable values to the console window.
To combine both text and a variable, use the +
character:
You can also use the +
character to add a variable to another variable:
Example
string firstName = "John ";
string lastName = "Doe";
string fullName = firstName + lastName;
Console.WriteLine(fullName);
For numeric values, the +
character works as a mathematical operator (notice that we use int
(integer) variables here):
Example
int x = 5;
int y = 6;
Console.WriteLine(x + y); // Print the value of x + y
From the example above, you can expect:
- x stores the value 5
- y stores the value 6
- Then we use the
WriteLine()
method to display the value of x + y, which is 11
Declare Many Variables
To declare more than one variable of the same type, use a comma-separated list:
C# Identifiers
All C# variables must be identified with unique names.
These unique names are called identifiers.
Identifiers can be short names (like x and y) or more descriptive names (age, sum, totalVolume).
Note: It is recommended to use descriptive names in order to create understandable and maintainable code:
Example
// Good
int minutesPerHour = 60;
// OK, but not so easy to understand what m actually is
int m = 60;
The general rules for constructing names for variables (unique identifiers) are:
- Names can contain letters, digits and the underscore character (_)
- Names must begin with a letter
- Names should start with a lowercase letter and it cannot contain whitespace
- Names are case sensitive ("myVar" and "myvar" are different variables)
- Reserved words (like C# keywords, such as
int
ordouble
) cannot be used as names