Apprendre les nouveautés de C# 6 et C# 7
Un tutoriel de Aymen TROUDI
Le 2017-08-03 16:07:09, par Community Management, Community Manager
Chers membres du club,
J'ai le plaisir de vous présenter ce tutoriel de Aymen TROUDI pour vous apprendre les nouveautés de C# 6 et C# 7.
Bonne lecture.
Retrouvez les meilleurs cours et tutoriels pour apprendre la programmation Dotnet.
J'ai le plaisir de vous présenter ce tutoriel de Aymen TROUDI pour vous apprendre les nouveautés de C# 6 et C# 7.
Lors des TechDays 2015, Microsoft a présenté une nouvelle version 6 de son langage phare C#. À peine un an après, son successeur C# 7 prépare son arrivée. Chacune de ces versions apporte un ensemble de facilités aux développeurs.
À travers ce tutoriel, nous passons en revue l'ensemble des nouveautés apportées par C# 6 et celles attendues par C# 7. Chaque fonctionnalité sera décortiquée avec des exemples illustratifs.
À travers ce tutoriel, nous passons en revue l'ensemble des nouveautés apportées par C# 6 et celles attendues par C# 7. Chaque fonctionnalité sera décortiquée avec des exemples illustratifs.
-
François DORINExpert éminent séniorBonjour,
Bon article ! Ca fait du bien d'avoir des petites synthèses comme cela de temps en temps.
Il est juste dommage que certains codes sources donnés en exemple soient erronés.
Par exemple : dans la section II-C Initialisation des collections :Code : 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36// Avant C# 6 // initialisation d'une collection de personnes var oldPers = new List<Person>() { new Person("Walter", "White"), new Person("Jon", "Snow") }; // Avec C# 6 // définition de méthodes d'extensions « Add » // 1re méthode d'extension « Add » acceptant deux paramètres « string » public static void Add(this List<Person> persons, string first, string last) { persons.Add(new Person(first, last)); } // 2e méthode d'extension « Add » acceptant un paramètre « int » public static void Add(this List<Person> persons, int nbr) { for (var index = 0; index < nbr; index++) { persons.Add(new Person("F_" + index, "L_" + index)); } } // initialisation d'une collection de personnes var newPers = new List<Person>() { { "Walter", "White" }, { "Jon", "Snow" }, { 2 }, };
Ensuite, même si je comprends que les codes données sont juste là pour donner le syntaxe, il serait bon de rester cohérent dans le code fourni. Ici, on déclare une méthode d'extension à côté d'attribut, ce qui n'est pas possible ! Car une méthode d'extension nécessite une classe statique, tandis que les attributs nécessitent une classe non statique. Il faudrait alors utiliser des attributs de classe.le 04/08/2017 à 9:17 -
François DORINExpert éminent séniorMerci pour le retour. Je comprends mieux maintenant l'origine de l'erreur. En temps normal, je n'aurais rien dit, car c'est du chipotage, mais l'erreur portant précisément sur les éléments syntaxiques en question...le 04/08/2017 à 16:16
-
NoxenMembre chevronné
Code : 1
2
3
4
5var oldPers = new List<Person>() { new Person("Walter", "White"), new Person("Jon", "Snow") };
Code : 1
2
3
4
5
6// C'est correct sans les parenthèses du new List<T>() var oldPers = new List<Person> { new Person("Walter", "White"), new Person("Jon", "Snow") };
le 08/08/2017 à 15:42 -
atr.netNouveau Candidat au ClubMerci François pour ton commentaire et d'avoir remarqué les erreurs qui sont passées entre les mailles du filet malgré les relectures depuis la première publication.
En cause le plugin utilisé pour faire la coloration syntaxique dans wordpress qui remplace les '()' par un ';' en fonction des actions d'édition (Preview ou Save).
J'espère que les modérateurs auront le temps et pourront corriger ces petites erreurs.
Pour info, le code (avant publication) a été testé sous VS 15/17 (R#) et Linqpad 5.
Cordialement,
Aymenle 04/08/2017 à 15:05