Le langage C# supporte deux sortes de type, les types de valeurs et les types de référence.

Les types de valeurs sont les types simples tels que les entiers (759), les nombres à virgule flottante (156.200364), les caractères (h), les booléens (false) ainsi que les types énumérés, soit des listes de valeurs,

public enum jour
{
  lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche
}

ou encore, les types de structures.

public struct Calcul
{
  public int a, b;
  public Calcul(int a, int b)
  {
    this.a = a;
    this.b = b;
  }
  ...
}