C# — это язык программирования общего назначения высокого уровня программирования, поддерживающий несколько парадигм. C# поддерживает статическую типизацию, строгую типизацию, лексическую область видимости, императивное, декларативное, функциональное, обобщённое, объектно-ориентированное (на основе классов) и компонентно-ориентированное программирование.