Data Types and Variables in C# Programming
Introduction
C# is a statically typed language, meaning the type of a variable is determined at compile-time. In this tutorial, we'll explore data types and variables in C#, including value types, reference types, and nullable types.
Value Types
Value types directly store data in their memory allocation. Common value types include int, float, double, char, and bool.
Example
using System; class Program
{
static void Main()
{
int number = 42;
float price = 19.99f;
double pi = 3.14159;
char initial = 'C';
bool isActive = true; Console.WriteLine("Integer: " + number);
Console.WriteLine("Float: " + price);
Console.WriteLine("Double: " + pi);
Console.WriteLine("Character: " + initial);
Console.WriteLine("Boolean: " + isActive);
}
}
Reference Types
Reference types store references to their data (objects), which are stored in the heap. Common reference types include object and string.
Example
using System; class Program
{
static void Main()
{
object obj = 42; // Can store any data type
string name = "John Doe"; Console.WriteLine("Object: " + obj);
Console.WriteLine("String: " + name);
}
}
Nullable Types
Nullable types allow a value type to be null. This is useful for representing the absence of a value.
To declare a nullable type, use the ? symbol after the type.
Example
using System; class Program
{
static void Main()
{
int? nullableInt = null; // Nullable integer
Console.WriteLine("Nullable integer: " + nullableInt); nullableInt = 42;
Console.WriteLine("Nullable integer after assignment: " + nullableInt); if (nullableInt.HasValue)
{
Console.WriteLine("Value: " + nullableInt.Value);
}
else
{
Console.WriteLine("Value is null.");
}
}
}
Conclusion
Understanding data types and variables is fundamental in C#. Value types store data directly, reference types store references to objects, and nullable types enable value types to hold a null value. Experiment with the examples above to strengthen your understanding.