Programação assíncrona em C#

Num mundo de dispositivos e aplicativos conectados, a programação assíncrona não é mais uma opção que um bom desenvolvedor pode simplesmente ignorar. Para criar uma boa interação com o usuário, qualquer software, em qualquer plataforma, precisa executar tarefas em segundo plano de forma que a interface não deixe de responder aos comandos.