2010-07-04 4 views
10

J'ai travaillé sur le projet .NET 1.1 pendant longtemps, et j'ai été bloqué à C# 1.0 et maintenant je voudrais rattraper le dernier et le meilleur.Liste des nouvelles fonctionnalités en C# 2.0, 3.0 et 4.0

Google a renvoyé beaucoup d'informations sur les nouvelles fonctionnalités de C# v2.0, mais pour les versions 3 et 4, je n'ai trouvé que des informations partielles.

Y a-t-il quelque part sur Internet une liste de toutes les nouvelles fonctionnalités introduites en C# dans v2.0, v3.0 et v4.0?

Répondre

23

Complétez la prise pour mon propre livre, mais j'espère ne pas gratuit: obtenir la version d'accès précoce du second edition of C# in Depth. Il saute C# 1, mais va dans le détail sur toutes les fonctionnalités de C# 2, 3 et 4.

Si vous voulez juste une liste de fonctions cependant, de l'annexe C:

C# 2.0:

Les principales fonctionnalités de C# 2 étaient les génériques, les types Nullable, les méthodes anonymes et d'autres améliorations liées aux délégués et les blocs d'itérateur. De plus, plusieurs fonctionnalités plus petites ont été introduites: les types partiels, les classes statiques, les propriétés avec différents modificateurs d'accès pour les getters et setters, les alias namespace, les directives pragma et les buffers de taille fixe.

C# 3.0:

C# 3 principalement construite vers LINQ, bien que de nombreuses fonctionnalités sont utiles ailleurs. Les propriétés automatiques, le typage implicite des tableaux et des variables locales, les objets et initialiseurs de collection et les types anonymes sont tous traités dans le chapitre XREF ch8. Les expressions Lambda et les arborescences d'expression étendaient la progression liée aux délégués effectuée dans la version 2.0, et les méthodes d'extension fournissaient le dernier ingrédient pour les expressions de requête. méthodes partielles n'ont été ajoutés en C# 3, bien que les types partiels étaient eux-mêmes en C# 2. Comme Marc souligne dans les commentaires, l'inférence de type générique a reçu un coup de pouce considérable en C# 3.

C# 4.0:

C# 4.0 a quelques caractéristiques visant à l'interopérabilité, mais n'a pas la même de C# 3.0. Encore une fois, il y a une distinction assez claire entre les "petites" caractéristiques (arguments nommés, paramètres optionnels , meilleure interopérabilité COM, variance générique) et l'énorme caractéristique de typage dynamique .

J'ai un "guide de bluffeurs" pour C# 2 et un autre pour C# 3, mais je n'ai pas fait l'équivalent pour C# 4 mais j'ai peur.

+1

Beau résumé (bien sûr). La seule chose que j'ajouterais (sans me gratter la tête) est l'inférence de type générique beaucoup plus forte dans C# 3.0 - il est étonnamment simple d'écrire accidentellement du code qui n'est pas 2.0 compatible. –

+0

@Marc: Ooh, vrai. Va ajouter ça. –

+0

"alias d'espace de noms"? Voulez-vous dire des alias de type ou des alias externes? – Timwi

2
  • C# 3.0:

Implicitement tapées variables locales
types Anonymous
Méthodes d'extension
objet et collection Initialiseur
Lambda expressions
expressions de requête
Les arbres d'expression

3

Le plus grand changement de 1.1 à 2.0 (IMO) était le introduction of generics. Les génériques sont également à la base de nombreuses autres technologies .NET depuis la 2.0. Je suggère que vous commenciez vos études en apprenant vraiment à bien comprendre les génériques.

Questions connexes