C# Data Types

In this chapter you will learn:

  1. Get to know C#'s Value Types
  2. Numeric and Their Internal Representation
  3. 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.

TypeMeaning
boolRepresents true/false values
byte8-bit unsigned integer
charCharacter
decimalNumeric type for financial calculations
double Double-precision floating point
float Single-precision floating point
intInteger
longLong 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.Double64-bit floating point -1.79769313486232e308 to 1.79769313486232e308
floatSystem.Single32-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
sbyteSystem.SByte 8-bit integer -128 to 127
shortSystem.Int16 16-bit integer-32,768 to 32,767
string System.Stringnot applicableString is an immutable variable length string.
uint System.UInt3232-bit unsigned integer 0 to 4,294,967,295
ulongSystem.UInt64 64-bit unsigned integer 0 to 18,446,744,073,709,551,615
ushort System.UInt1616-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:

  1. What are the difference between value type and reference type
  2. An example of value type
  3. An example for reference type
  4. Set reference value to null
Home » C# Tutorial » Data Types
C# Data Types
Value type vs reference type
Literals
Value default value
Anonymous type