Data Types in CSharp
Back to: C# .NET Tutorial
Data types are a fundamental concept in C# that define the type of data a variable can hold. Understanding and choosing the right data type is crucial for efficient memory usage and program correctness. In this comprehensive guide, we’ll explore various data types in C# and provide code examples for each category.
1. Integer Data Types
Integer data types are used to store whole numbers. They can be classified into different sizes based on the number of bits they occupy:
- sbyte: Signed 8-bit integer (-128 to 127)
- byte: Unsigned 8-bit integer (0 to 255)
- short: Signed 16-bit integer (-32,768 to 32,767)
- ushort: Unsigned 16-bit integer (0 to 65,535)
- int: Signed 32-bit integer (-2^31 to 2^31-1)
- uint: Unsigned 32-bit integer (0 to 2^32-1)
- long: Signed 64-bit integer (-2^63 to 2^63-1)
- ulong: Unsigned 64-bit integer (0 to 2^64-1)
Example:
int age = 30; byte numberOfStudents = 100;
2. Floating-Point Data Types
Floating-point data types are used to store real numbers with decimal points:
- float: 32-bit single-precision floating-point (±1.5 x 10^-45 to ±3.4 x 10^38)
- double: 64-bit double-precision floating-point (±5.0 x 10^-324 to ±1.7 x 10^308)
- decimal: 128-bit decimal (±1.0 x 10^-28 to ±7.9 x 10^28)
Example:
float pi = 3.14f; double price = 19.99; decimal total = 100.50m;
3. Character Data Type
The char
data type is used to store a single Unicode character.
Example:
char grade = 'A';
4. Boolean Data Type
The bool
data type represents Boolean values: true
or false
.
Example:
bool isAvailable = true;
5. String Data Type
The string
data type is used to store a sequence of characters (text).
Example:
string message = "Hello, World!";
6. Enumeration (Enum) Data Type
Enums are user-defined data types that consist of named integral constants.
Example:
enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } Days today = Days.Wednesday;
7. Nullable Data Types
Nullable data types allow variables to have an additional null
value in addition to their underlying data type. They are denoted with a ?
.
Example:
int? nullableInt = null;
8. Custom Data Types (Structs and Classes)
You can create custom data types using structs
or classes
to encapsulate data and behavior.
Example:
struct Point { public int X; public int Y; }
9. Type Conversion (Casting)
C# provides explicit and implicit type conversion mechanisms to convert data between different types.
Example:
int numInt = 10; double numDouble = (double)numInt; // Explicit casting
Conclusion
Data types in C# are essential for specifying the kind of data that a variable can hold. Choosing the right data type for your variables is crucial for writing efficient and reliable programs. Understanding the available data types and their characteristics is a fundamental step towards becoming proficient in C# programming.