<p>Historique des versions du langage C# :</p>
<p>Voici les <a href="https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history">versions de C#</a> connues au moment de la rédaction de cet article :</p>
<ul>
<li>
<p><strong>C# 1.0</strong> publié avec .NET 1.0 et VS2002 (janvier 2002)</p>
</li>
<li>
<p><strong>C# 1.2</strong> (étrangement) ; publié avec .NET 1.1 et VS2003 (avril 2003). Première version à appeler <code>Dispose</code> sur les <code>IEnumerator</code> implémentant <code>IDisposable</code>. Quelques autres petites fonctionnalités.</p>
</li>
<li>
<p><strong>C# 2.0</strong> publié avec .NET 2.0 et VS2005 (novembre 2005). Nouvelles fonctionnalités majeures : génériques, méthodes anonymes, types nullables et blocs itérateurs</p>
</li>
<li>
<p><strong>C# 3.0</strong> publié avec .NET 3.5 et VS2008 (novembre 2007). Nouvelles fonctionnalités majeures : expressions lambda, méthodes d’extension, arbres d’expressions, types anonymes, typage implicite (<code>var</code>) et expressions de requête</p>
</li>
<li>
<p><strong>C# 4.0</strong> publié avec .NET 4 et VS2010 (avril 2010). Nouvelles fonctionnalités majeures : liaison tardive (<code>dynamic</code>), variance générique des délégués et interfaces, meilleur support <a href="https://en.wikipedia.org/wiki/Component_Object_Model">COM</a>, arguments nommés, type de données tuple et paramètres optionnels</p>
</li>
<li>
<p><strong>C# 5.0</strong> publié avec .NET 4.5 et VS2012 (août 2012). <a href="https://devblogs.microsoft.com/csharpfaq/visual-studio-11-beta-is-here/">Fonctionnalités majeures</a> : programmation asynchrone et attributs d’information sur l’appelant. Changement non rétrocompatible : <a href="https://ericlippert.com/2009/11/16/closing-over-the-loop-variable-considered-harmful-part-two/">fermeture de variable de boucle</a>.</p>
</li>
<li>
<p><strong>C# 6.0</strong> publié avec .NET 4.6 et VS2015 (juillet 2015). Implémenté par <a href="https://github.com/dotnet/roslyn">Roslyn</a>. <a href="https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-6">Fonctionnalités</a> : initialiseurs pour les propriétés auto-implémentées, directives using pour importer des membres statiques, filtres d’exceptions, initialiseurs d’éléments, <code>await</code> dans <code>catch</code> et <code>finally</code>, méthodes d’extension <code>Add</code> dans les initialiseurs de collections.</p>
</li>
<li>
<p><strong>C# 7.0</strong> publié avec .NET 4.7 et VS2017 (mars 2017). Nouvelles <a href="https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7">fonctionnalités</a> majeures : [tuples](h</p>
</li>
</ul>
<p><em>(Réponse tronquée)</em></p>