La versión 5.0 de C#, lanzada con Visual Studio 2012, era una versión enfocada del lenguaje. Casi todo el esfuerzo para esa versión se destinó a otro concepto de lenguaje innovador: el modelo asíncrono y en espera para programación asincrónica. Aquí está la lista de características principales:
El atributo de información de la persona que llama le permite recuperar fácilmente información sobre el contexto en el que está ejecutando sin recurrir a una tonelada de código de reflexión repetitivo. Tiene muchos usos en tareas de diagnóstico y registro.
Pero async y await son las verdaderas estrellas de esta versión. Cuando estas características aparecieron en 2012, C# volvió a cambiar el juego al incorporar la asincronía al lenguaje como un participante de primera clase. Si alguna vez se ha ocupado de operaciones de larga duración y de la implementación de redes de devoluciones de llamadas, probablemente le haya encantado esta característica del lenguaje.