W Visual Studio za pomocą regionów możemy zwijać kod tak, aby zawierał mniej miejsca. Ta funkcjonalność przydaje się do oddzielenia części kodu i jego uporządkowania.
Kod między oznaczeniem #region nazwa_regionu a #endregion będzie można zwinąć.
Zobaczmy przykład:

public class Pracownik {
    #region zmienne
    string imie;
    string nazwisko;
    float pensja;
    #endregion

    #region własności
    public string Imie {
        get { return imie; }
        set { imie = value; }
    }
    public string Nazwisko {
        get { return nazwisko; }
        set { nazwisko = value; }
    }    
    public float Pensja {
        get { return pensja; }
        set { pensja = value; }
    }
    #endregion
    #region metody
    public void WyswietlPodstawoweDane() {
        //ciało metody
    }
    public void ObliczPensje() {
        //ciało metody
    }
    public void NaliczNadgodziny() {
        //ciało metody
    }
    public void DodajPremie() {
        //ciało metody
    }
    #endregion
}

Kod po zwinięciu:

regiony

Rys. Uporządkowany kod za pomocą regionów