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 :

Opérateur en char


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de roots_man
    Inscrit en
    Août 2004
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 328
    Par défaut Opérateur en char
    Bonjour,

    Je me pose la question suivante : Est-ce possible d'utiliser un object de type char (ou string) dans une boucle if ??

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    int a = 12;
    int b = 20;
    char operateur = '<';
     
    if(a operateur b)
    {
       //Do something
    }
    Merci d'avance pour une réponse

    Bonne journée

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 220
    Par défaut
    Pourquoi vouloir mettre ton opérateur logique dans un char?
    Tu peux l'utiliser directement dans le if:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int a = 12;
    int b = 20; 
    if(a < b)
    {
       //Do something
    }

  3. #3
    Membre éclairé Avatar de roots_man
    Inscrit en
    Août 2004
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 328
    Par défaut
    le truc c'est que j'aimerais passer mon opérateur dans un fonction.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void maFonction(int a, int b, char operateur)
    {
        if(a operateur b)
        {
            //...
        }
    }

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 220
    Par défaut
    Je crains que tu ne doives faire un switch pour chaque cas d'opérateur que tu puisses avoir

  5. #5
    Membre éclairé Avatar de roots_man
    Inscrit en
    Août 2004
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 328
    Par défaut
    Ouais j'avais pensé mais je me posait la question si cela était possible.. On verra bien peut être d'autre on une solution..

    Merci quand meme !

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    Et en passant une Func<int, int, bool> ?

    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
    Func<int, int, bool> less = (a,b) => a < b;
    Func<int, int, bool> lessOrEquals = (a,b) => a <= b;
    ....
     
    //call
    maFonction(10, 30, less);
     
     
    //Test du if
    public void maFonction(int a, int b, Func<int, int, bool> operateur)
    {
      if(operateur(a,b))
      {
     
      }
    }
    Ainsi tu peux passer une opération représentant ta comparaison, je ne sais pas si ça te convient ?

  7. #7
    Membre éprouvé Avatar de bibbi
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 113
    Par défaut
    Comme solution de remplacement, tu peux faire une enum contenant tes opérations.

    Ensuite dans ta méthode, tu fais un switch-case sur cette enum.

    Je pense pas que ce soit possible de faire passer un opérateur directement en paramètre.

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/08/2010, 09h02
  2. Opérateur de concaténation pour char *
    Par yves042 dans le forum C++
    Réponses: 2
    Dernier message: 06/05/2010, 10h12
  3. istream surcharge de l'opérateur cin pour un char*
    Par highman dans le forum SL & STL
    Réponses: 2
    Dernier message: 15/03/2007, 18h16
  4. Réponses: 3
    Dernier message: 02/07/2003, 16h24
  5. [imprecis]Réaliser a^n avec seulement l'opérateur d'addition
    Par Amon dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 08/11/2002, 22h22

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