C# został zaprojektowany jako obiektowy język programowania z kontrolą typów. C# w wersji 6.0 jest dojrzałą technologią, narzędziem, dzięki któremu można efektywnie pisać bezpieczny, przejrzysty i wydajny kod. Język ten z założenia ma być prosty w stosowaniu, niekiedy jednak programista potrzebuje pomocy: trzeba szybko coś sprawdzić, upewnić się co do przyjętych rozwiązań, przypomnieć sobie rzadziej używaną konstrukcję.