Dupa cum spunea Tymbark clasele, obiectele si metodele tin de OOP si te ciocnesti de ele cam in orice limbaj de programare. Mai departe OOP este o nulitate fara design patter-uri. Este ca si cum ai folosi doar 1% din potentialul unei tehnologii.

Pentru OOP iti recomand cartea "PHP object oriented solutions" - sintaxa si clasele sunt in PHP dar acolo ai sa gasesti multe lucruri general valabile care tin de OOP expuse intr-o maniera foarte inteligenta.
Pentru design patternuri recomand "Head First Design Patterns" - aici se vorbeste in JAVA dar iarasi multe notiuni general valabile.

In opinia mea cel mai important este modul programatorului de a privi lucrurile, limbajele de programare in sine sunt mai putin importante. Din cauza asta am recomandat carti care nu au treaba cu C#.