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 -123
  • double - stores floating point numbers, with decimals, such as 19.99 or -19.99
  • char - stores single characters, such as 'a' or 'B'. Char values are surrounded by single quotes
  • string - stores text, such as "Hello World". String values are surrounded by double quotes
  • bool - 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:


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:


Create a variable called name of type string and assign it the value "John":

string name = "John";

来试试吧 »

To create a variable that should store a number, look at the following example:


Create a variable called myNum of type int and assign it the value 15:

int myNum = 15;

来试试吧 »

You can also declare a variable without assigning the value, and assign the value later:


int myNum;
myNum = 15;

来试试吧 »

Note that if you assign a new value to an existing variable, it will overwrite the previous value:


Change the value of myNum to 20:

int myNum = 15;
myNum = 20; // myNum is now 20

来试试吧 »


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):


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:


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:


string name = "John";
Console.WriteLine("Hello " + name);

来试试吧 »

You can also use the + character to add a variable to another variable:


string firstName = "John ";
string lastName = "Doe";
string fullName = firstName + lastName;

来试试吧 »

For numeric values, the + character works as a mathematical operator (notice that we use int (integer) variables here):


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:


int x = 5, y = 6, z = 50;
Console.WriteLine(x + y + z);

来试试吧 »

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:


// 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 or double) cannot be used as names

C# 练习

Test Yourself With 练习


Create a variable named myNum and assign the value 50 to it.

  = ;

Start the Exercise

W3Schools is optimized for learning and training. 示例 might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2021 by Refsnes Data. All Rights Reserved.
W3Schools is Powered by W3.CSS.