C Sharp for Beginners/Variables
Variables are simply places to store data like numbers, strings (text), arrays of numbers or strings, and other objects. Each variable can only store data of one type, and you must declare variables before attempting to set or get their values. Here is a sample program that uses variables:
class VariablesExample
{
public static void Main()
{
int number;
string myText;
number = 100;
System.Console.WriteLine(number);
myText = "Hello!";
System.Console.WriteLine(myText);
number = 200;
System.Console.WriteLine(number);
System.Console.ReadKey();
}
}
The output would be:
100 Hello! 200
You can see that variables are declared using the form [type] [variable name];
and are set using the =
operator. You can declare multiple variables of the same type by placing commas after each variable name:
int x, y, z;
If you want to set variables immediately after you declare them, you can use the form [type] [variable name] = [value];
:
class VariablesExample2
{
public static void Main()
{
int number = 100;
string myText = "Hello!";
System.Console.WriteLine(number);
System.Console.WriteLine(myText);
number = 200;
System.Console.WriteLine(number);
System.Console.ReadKey();
}
}
The output would be exactly the same as before.
Types
editC# offers various types of variables besides int
and string
. Here is a short list of the available types:
bool
- stores true or false.byte
- stores an unsigned byte.sbyte
- stores a signed byte.char
- stores a single character:char theLetterA = 'a';
int
- stores an integer:int number = 100;
short
,long
- both store an integer.ushort
,uint
,ulong
- both store an unsigned integerfloat
- stores a floating-point number:float number = 3.14159;
double
- stores a double-precision floating-point number.decimal
- stores a quadruple-precision floating-point number.string
- stores a string, or a sequence of characters.
Note: a floating-point number is a number which can be fractional. For example, 3.14159 is a floating-point number while 314 is just an integer.
You may be wondering why there are so many types for storing integers and floating-point numbers. Signed integers can be negative as well as positive, while unsigned integers can only be positive. So, byte
, ushort
, uint
and ulong
can only store positive integers.
There are also different sizes for integers and floating-point numbers; a type with a bigger size has a bigger range than a type with a smaller size. Here are the sizes of the types:
byte, sbyte
- 8 bits, or 1 byte.byte
can store numbers from 0 to 255, whilesbyte
can store numbers from -128 to 127.short, ushort
- 16 bits, or 2 bytes.short
can store numbers from -32,768 to 32,767, whileushort
can store numbers from 0 to 65,535.int, uint
- 32 bits, or 4 bytes.int
can store numbers from negative 2 billion to positive 2 billion, whileuint
store numbers from 0 to 4 billion.long, ulong
- 64 bits, or 8 bytes.long
can store numbers from negative 9 million million million to positive 9 million million million, whileulong
can store numbers from 0 to 18 million million million.
You may also be wondering why there are small types when we could use the biggest available types (long
, decimal
). The answer is that most computers today are 32-bit, which means that they are designed to handle 32-bit numbers. 64-bit numbers are therefore slower to add, subtract, multiply, and divide.