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 :

assigner un enum a une variable


Sujet :

C#

  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut assigner un enum a une variable
    Bonjour

    Je me demande s'il exite un truc que je n'ai pas encore trouvé pour untiliser une variable de type enum

    Je m'explique

    J'ai deux enum qui correspondent a deux modele de fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        enum itmOld {nom,prenom,age,sexe};
        enum itmNew {Code,nom,prenom,age,sexe,date}
    Selon le nombre de champs dans le fichier, j'aimerais utiliser un des deux enum pour identifier les colonnes sans duplique tout le code

    Une idée ?

    Merci

  2. #2
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

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

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    une variable de type enum
    Désolé mais tu ne peux pas créer une variable de type enum. Mais il y a toujours le type Object au pire.

    Mais je ne vois pas vraiment l'intérêt d'avoir deux enum puisque la deuxième contient les mêmes éléments que la première plus quelques uns. Peut-être que tu pourrais développer un peu ton problème ?

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Mais je ne vois pas vraiment l'intérêt d'avoir deux enum puisque la deuxième contient les mêmes éléments que la première plus quelques uns. Peut-être que tu pourrais développer un peu ton problème ?
    Je dois lire des fichier CSV pour mettre le contenu en base de donnée
    A un moment j'ai un array de string représentant les différents champs

    Selon le type de fichier, nom peut etre Item[0] ou Item[1]

    Si j'avais pu choisir l'enum en fonction du type de fichier c'etait tres facile;


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nom=Item[(int)enum.Nom];

  4. #4
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

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

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Je l'aurai fait comme ca même si ca duplique un peu le code.

    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
     
    class Toto
    {
        string Code {get;set;}
        string Nom {get;set;}
        ...
     
        static Toto FromOld(string[] values)
        {
            ...
        }
     
        static Toto FromNew(string[] values)
        {
            ...
        }
    }

  5. #5
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 614
    Par défaut
    Et pourquoi ne travaillerais-tu pas avec des tableaux ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    int[] a = { 1, 2, 3, 4, 5 };
    int[] b = { 0, 1, 2, 3, 4, 5 }
    int[] c;
     
    si condition alors
      c = a
    sinon
      c = b
     
    Nom = Item[c[0]];

  6. #6
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Citation Envoyé par ppphil Voir le message
    Et pourquoi ne travaillerais-tu pas avec des tableaux ?
    Bien sur !
    Ce ne sont evidemment pas les solution qui manquent

    Mais une solution eventuelle via les enums m'aurait amusé

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/10/2011, 16h15
  2. Assigner un générateur depuis une variable
    Par looping dans le forum SQL
    Réponses: 1
    Dernier message: 23/04/2011, 08h28
  3. Réponses: 2
    Dernier message: 16/07/2007, 01h01
  4. Réponses: 13
    Dernier message: 30/05/2006, 16h00
  5. Réponses: 2
    Dernier message: 13/03/2006, 11h47

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