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

Dotnet Discussion :

c# Que signifie () =>


Sujet :

Dotnet

  1. #1
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut c# Que signifie () =>
    Bonjour,

    Je commence a regarder du code en C# 4.5 et je vois souvent c# () =>

    Que cela signifie t il ?

    Merci

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    C'est la notation pour définir une "expression lambda" qui est un concept similaire aux méthodes anonymes (C# 2.0).

    Tu trouveras plus d'infos ici:
    http://msdn.microsoft.com/en-us/library/bb882516.aspx
    http://msdn.microsoft.com/en-us/library/bb397687.aspx

  3. #3
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    C'est simplement le début d'une expression lambda qui est une syntaxe allégée pour écrire des fonctions anonymes et qui supportent quelques trucs un peu plus exotiques.

    Avant tu avais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... = delegate (int x, int y) { return x + y; };
    Maintenant tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... = (int x, int y) => { return x + y; };
    Si le compilo peut inférer les types, ce qui est très souvent le cas, tu peux raccourcir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... = (x, y) => { return x + y; };
    Et si tu ne fais que renvoyer une valeur :
    Et si tu n'as qu'un paramètre :
    Par contre si tu n'en as pas il te faut mettre les parenthèses :
    Donc essentiellement du sucre syntaxique pour améliorer la lisibilité du code.

  4. #4
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut
    Vraiment merci pour vos explications

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Que signifie "Error : Data truncation" ??
    Par BouB dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/05/2005, 17h20
  2. [SQL6]Que signifie ce LEFT ?
    Par guy2004 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 30/01/2005, 20h18
  3. Que signifie Pagesize ?
    Par anthony70 dans le forum Débuter
    Réponses: 3
    Dernier message: 31/08/2004, 14h31
  4. Que signifier $0 et $@
    Par jaabouc dans le forum Linux
    Réponses: 6
    Dernier message: 01/06/2004, 16h17

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