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 :

Comprendre la syntaxe [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 21
    Points : 24
    Points
    24
    Par défaut Comprendre la syntaxe
    Bonjour,

    venant d'autres langages, j'essaye de comprendre le code d'une application windows store (C# et xaml).

    une classe nommée BooleanToColorConverter contient la méthode suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public object Convert(object value, Type targetType, object parameter, string language)
            {
                return (value is bool && (bool)value) ? new SolidColorBrush(Colors.Green) : new SolidColorBrush(Colors.Black);
            }
    une méthode public qui retourne un objet, et qui reçoit plusieurs paramètres en entrée.

    pouvez-svp m'expliquer littéralement la ligne du retour svp? et le rôle du point d'interrogation ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 206
    Points : 455
    Points
    455
    Par défaut
    Bonjour,
    c'est l'équivalent de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    value is bool && (bool)value) ? new SolidColorBrush(Colors.Green) : new SolidColorBrush(Colors.Black);
    if (value is bool && (bool)value)
        new SolidColorBrush(Colors.Green); 
    else
        new SolidColorBrush(Colors.Black);
    Selon la valeur de value il retourne vert ou noir

  3. #3
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    de quel langage viens-tu ? Juste par curiosité, l'opérateur ternaire '?' existant sur pas mal de langage.
    sinon le retour en français :

    SI mon objet en param est un bool ET qu'il vaut true
    ALORS renvoie [vert]
    SINON (si objet n'est pas un bool OU qu'il vaut false) renvoie [noir]
    Plus je connais de langages, plus j'aime le C.

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 21
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par chaparo Voir le message
    Bonjour,
    c'est l'équivalent de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    value is bool && (bool)value) ? new SolidColorBrush(Colors.Green) : new SolidColorBrush(Colors.Black);
    if (value is bool && (bool)value)
        new SolidColorBrush(Colors.Green); 
    else
        new SolidColorBrush(Colors.Black);
    Selon la valeur de value il retourne vert ou noir
    c'est vrai que c'est beaucoup plus clair maintenant merci infiniment !

    une autre petite question stp, des fois je trouve deux point d'interrogation '??', sa a une autre signification?

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 206
    Points : 455
    Points
    455
    Par défaut
    ?? signifie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var z = s ?? "Unspecified";
     
    if (s == null)
       z = "Unspecified";

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 21
    Points : 24
    Points
    24
    Par défaut
    parfait, merci les gars !!

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

Discussions similaires

  1. Demande d'aide pour comprendre des syntaxes Python
    Par Cyberstein dans le forum Général Python
    Réponses: 13
    Dernier message: 31/12/2009, 22h36
  2. Aide pour comprendre la syntaxe d'une macro
    Par virtuadrack dans le forum C
    Réponses: 6
    Dernier message: 28/10/2009, 12h38
  3. Comprendre cette syntaxe
    Par Amon dans le forum Langage
    Réponses: 2
    Dernier message: 26/10/2008, 11h40
  4. Comprendre la syntaxe des triggers
    Par berceker united dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 02/06/2006, 16h13
  5. [langage] comprendre une syntaxe particulière
    Par mat21 dans le forum Langage
    Réponses: 4
    Dernier message: 08/12/2004, 18h12

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