Inheritance, interfaces, abstraction and polymorphism are key object-oriented programming concepts in C#. Inheritance allows a class to inherit characteristics from a parent class. Interfaces allow classes to implement common behaviors without inheritance. Abstract classes and methods define common behaviors for derived classes to implement. Polymorphism allows derived classes to override base class behaviors through method overriding.