C# es un lenguaje de programación orientado a objetos diseñado para la Plataforma .NET. C# deriva de C y C++ pero simplifica conceptos como clases, herencia y excepciones. Los programas en C# se compilan a código administrado que es ejecutado por la Máquina Virtual de .NET, la cual administra recursos como memoria. C# soporta conceptos clave de la programación orientada a objetos como encapsulación, herencia y polimorfismo.