IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Tutoriel pour apprendre les nouveautés de C# 6 et C# 7


Sujet :

C#

  1. #1
    Community Manager

    Profil pro
    Inscrit en
    Avril 2014
    Messages
    4 207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2014
    Messages : 4 207
    Points : 13 065
    Points
    13 065
    Par défaut Tutoriel pour apprendre les nouveautés de C# 6 et C# 7
    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.

    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.
    Bonne lecture.

    Retrouvez les meilleurs cours et tutoriels pour apprendre la programmation Dotnet.

  2. #2
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Points : 10 546
    Points
    10 546
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 },
    };
    Les corrections sont en rouge.

    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.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2017
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Merci 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,
    Aymen


    Citation Envoyé par François DORIN Voir le message
    Bon article ! Ca fait du bien d'avoir des petites synthèses comme cela de temps en temps.
    Il est juste dommage que certains code source donnée en exemple soient erronés.

  4. #4
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Points : 10 546
    Points
    10 546
    Billets dans le blog
    21
    Par défaut
    Merci 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...

  5. #5
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 905
    Points : 1 923
    Points
    1 923
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var oldPers = new List<Person>()
    {
        new Person("Walter", "White"),
        new Person("Jon", "Snow")
    };
    Tant qu'on en est de chipoter, avec les initialisateurs d'objets ou de collections on n'a pas besoin des parenthèses du constructeur sans paramètre (d'ailleurs ReSharper le signale comme code redondant).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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")
    };

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/09/2017, 15h44
  2. Réponses: 5
    Dernier message: 16/03/2017, 00h26
  3. Réponses: 3
    Dernier message: 06/10/2016, 21h22
  4. Tutoriel pour apprendre les structures arborescentes
    Par Malick dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 21/01/2006, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo