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 :

Multiples valeurs énumération


Sujet :

C#

  1. #1
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Points : 223
    Points
    223
    Par défaut Multiples valeurs énumération
    Bonjour,

    J'ai une énumération contenant plusieurs valeurs.
    Comment faire pour savoir si plusieurs valeurs sont passées en paramètre?
    Exemple: Comment savoir que l'on veut 1 | 2 | 3 ...?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            [Flags]
            public enum enumTest {
                valeurA = 1,
                valeurB = 2 
            };
    Merci,

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    En utilisant l'opérateur "&" ("and" binaire) pour tester.

    Exemple

    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
     
    enum MyVals
    {
    Val1 = 1,
    Val2 = 2
    }
     
    MyVals sampleVal = MyVals.Val1 | MyVals.Val2;
     
    if(sampleVal & MyVals.Val1 == MyVals.Val1)
    {
    ....
    }
     
    if(sampleVal & MyVals.Val2 == MyVals.Val2)
    {
    ....
    }
    Bien sur, il faut que les valeurs soient des puissances de 2, sinon ça se complique (ceci dit tu peux délibérément créer des valeur du type Val1AndVal2 = 3, pour simplifier l'utilisation et éviter l'utilisation du "|" (OR binaire) pour affecter les valeurs).

    Bref, comme en C.

    Un point important : le FlagsAttribute ne sert que pour piloter le fonctionnement du "toString"; il n'a aucune influence sur le code en dehors de ce cas, mais donne une description plus facile à lire sous debugger, par exmple.

Discussions similaires

  1. Contrainte ujnique avec multiple valeurs NULL
    Par dev-man dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/06/2008, 23h39
  2. [XSD]Elément à multiple valeur
    Par binoo dans le forum Valider
    Réponses: 2
    Dernier message: 21/05/2008, 18h01
  3. Probleme avec multiple valeur d'un champ
    Par Delphieur dans le forum Oracle
    Réponses: 4
    Dernier message: 18/07/2007, 22h34
  4. jointure sur champ avec multiple valeur
    Par robert_trudel dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/05/2007, 17h40
  5. [MySQL] Multiples valeurs dynamiques en POST
    Par Runan dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/05/2006, 10h44

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