C# es un lenguaje de programación orientado a objetos orientado a componentes. C# proporciona construcciones de lenguaje para admitir directamente estos conceptos, por lo que se trata de un lenguaje natural en el que crear y usar componentes de software.