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 :

Enum et methode à plusieurs parametres d'entrée.


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 26
    Par défaut Enum et methode à plusieurs parametres d'entrée.
    Bonjour,

    Je suis entrain d'implementer une methode qui est censée ramener plusieurs 'int'.
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    public class ScoreCard
        {
            public int residentialscore;
            public int maritalscore;
            public int agescore;
            public int personalscore;
     
            public ScoreCard()
            {
            }
     
            [Flags]
            public enum resStatus
            {
                owner_with_mortgage = 10,
                owner_with_no_mortgage = 40,
                renting = 10,
                living_with_parents = 20
            }
     
            [Flags]
            public enum marStat
            { 
                single	= 10,
                married = 30,
                seperated =	10,
                divorced =	0,
            }
     
            public int SetScore(string res, string mar, out int score )
            {
     
               try
               {
                   if (res == Convert.ToString(resStatus.owner_with_mortgage))
                   {
                        int r = (int)resStatus.owner_with_mortgage;
                        residentialscore = r;
                    }
                    if (res == Convert.ToString(resStatus.renting))
                    {
                        int r = (int)resStatus.renting;
                        residentialscore = r;
                    }
                    if (res == Convert.ToString(resStatus.living_with_parents))
                    {
                        int r = (int)resStatus.living_with_parents;
                        residentialscore = r;
                    }
                    if (res == Convert.ToString(resStatus.owner_with_no_mortgage))
                    {
                        int r = (int)resStatus.owner_with_no_mortgage;
                        residentialscore = r;
                    }
                    if (mar == Convert.ToString(marStat.single))
                    {
                        int m = (int)marStat.single;
                        maritalscore = m;
                    }
                    if (mar == Convert.ToString(marStat.married))
                    {
                        int m = (int)marStat.married;
                        maritalscore = m;
                    }
                    if (mar == Convert.ToString(marStat.seperated))
                    {
                        int m = (int)marStat.seperated;
                        maritalscore = m;
                    }
     
                   personalscore= score = residentialscore + maritalscore;
                }
                finally
                {
                } return score;
            }
     
        }
    Le probleme c'est que le compilateur ne passe dans l'enum que si la valeur de mar = divorced ou married.
    d'ailleurs je vois que pour 'single' et 'seperated', la valeur n'est as numérique mais 'single',
    alors que pour married quand je passe la souris sur marsStat.married, je vois 30.
    Est-ce que vous voyez ou est l'erreur ?
    Je me demande meme si c'est possible de traiter deux parametres sur deux enum differentes dans la meme methode

    Merci d'avance

  2. #2
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    Yep,

    Ton code est illisible, pourrais tu penser à l'indenter ;-)
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  3. #3
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    J'ai pas encore analyser ton soucis, par contre je peux faire une ou deux petites remarques constructives pour améliorer entre autre la lisibilité :

    Pourquoi passer le paramètre score avec le mot clé out si c'est pour faire un return :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public int SetScore(string res, string mar, out int score )
    ...
    return score;
    Tu déclares toujours une variable pour rien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int m = (int)marStat.single;
    maritalscore = m;
    Tu pourrais juste faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maritalscore = (int)marStat.single;
    Pour le reste je vais regarder l'aprem ;-)
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 26
    Par défaut
    Désolée, je ne peux pas l'indenter dans l'editeur de message sur le site :/

    Merci je vais changer les variables.

    j'avais changé la fin de mon message, je ne sais pas si vous avez vu.

    Le probleme c'est que le compilateur ne passe dans l'enum que si la valeur de mar = divorced ou married.
    d'ailleurs je vois que pour 'single' et 'seperated', la valeur n'est as numérique mais 'single',
    alors que pour married quand je passe la souris sur marsStat.married, je vois 30.

    Merci beaucoup (une rapidité de réponse incroyable sur ce forum)

  5. #5
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    pour tes tests dans tes if essaie un peu ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (res.Equals(Convert.ToString(resStatus.living_with_parents)))
    Sinon tu dois prendre ta fonction en debug et voir le contenu de tes variables à chaque fois.
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 26
    Par défaut
    J'ai essayé ça avec 'mar' sur 'marStat' pour single, puisque c'est là qu'est le probleme, mais la compilateur saute les lignes dans les crochets et passe de 'if' en 'if'.
    Images attachées Images attachées  

  7. #7
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    peux tu rajouter un exemple d'appel de ta méthode (avec des valeurs valables) ou un petit projet de test pour que je puisse analyser cela
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/04/2013, 10h01
  2. Passage de plusieurs parametre entre winform
    Par lasrevinu dans le forum C#
    Réponses: 2
    Dernier message: 11/05/2010, 16h39
  3. [VB] Passer plusieurs parametres à une procedure stockée
    Par wolflinger dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/04/2005, 14h13
  4. Réponses: 5
    Dernier message: 12/05/2004, 16h37
  5. procedures/fonctions stockees : renvoi de plusieurs parametr
    Par Spoutnik dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 11/05/2004, 11h53

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