C# Data Types
In this chapter you will learn:
- Get to know C#'s Value Types
- Numeric and Their Internal Representation
- Call methods for primitive data types directly
C#'s Value Types
C# contains two general categories of built-in data types:
value types reference types. C#'s reference types are defined by classes. The following code lists the C# Value Types.Type | Meaning |
---|---|
bool | Represents true/false values |
byte | 8-bit unsigned integer |
char | Character |
decimal | Numeric type for financial calculations |
double | Double-precision floating point |
float | Single-precision floating point |
int | Integer |
long | Long integer |
sbyte | 8-bit signed integer |
short | Short integer |
uint | unsigned integer |
ulong | An unsigned long integer |
ushort | An unsigned short integer |
Numeric and Their Internal Representation
For the numeric types, the .NET structure names and their C# keyword equivalents are shown here:
Type | Primitive | Description | Range |
---|---|---|---|
bool | System.Boolean | Boolean | true or false |
byte | System.Byte | 8-bit integer | 0 to 255 |
char | System.Char | 16-bit Unicode character | /u0000 to /uffff |
decimal | System.Decimal | 128-bit decimal | (+/-)1.0 ? 10^-28 to (+/-)7.9 ? 10^28, with 28 to 29 digits of precision |
double | System.Double | 64-bit floating point | -1.79769313486232e308 to 1.79769313486232e308 |
float | System.Single | 32-bit floating point | (+/-)1.5 ? 10^-45 to (+/-)3.4 ? 10^38, with 7 digits of precision |
int | System.Int32 | 32-bit unsigned integer | -2,147,483,648 to 2,147,483,647 |
long | System.Int64 | 64-bit integer | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
sbyte | System.SByte | 8-bit integer | -128 to 127 |
short | System.Int16 | 16-bit integer | -32,768 to 32,767 |
string | System.String | not applicable | String is an immutable variable length string. |
uint | System.UInt32 | 32-bit unsigned integer | 0 to 4,294,967,295 |
ulong | System.UInt64 | 64-bit unsigned integer | 0 to 18,446,744,073,709,551,615 |
ushort | System.UInt16 | 16-bit unsigned integer | 0 to 65,535 |
The structures are defined inside the System namespace. The fully qualified name for Int32 is System.Int32.
Methods for primitive data types
The following code shows how to call methods from primitive data types.
using System;/* j a v a 2 s. co m*/
using System.Collections.Generic;
using System.Text;
class Program {
static void Main(string[] args) {
Console.WriteLine(12.GetHashCode());
Console.WriteLine(12.Equals(23));
Console.WriteLine(12.GetType().BaseType);
Console.WriteLine(12.ToString());
Console.WriteLine(12); // ToString() called automatically.
}
}
Next chapter...
What you will learn in the next chapter:
- What are the difference between value type and reference type
- An example of value type
- An example for reference type
- Set reference value to null
Home » C# Tutorial » Data Types