Gros problême d'énumération

Résolu
LordOfTheShadow Messages postés 174 Date d'inscription vendredi 22 décembre 2000 Statut Membre Dernière intervention 9 septembre 2010 - 24 juil. 2009 à 11:49
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 - 27 juil. 2009 à 11:24
Bonjour à tous!

Voilà mon problême: J'ai une énumération "famille" et 4 autres énumérations qui définissent des identifiants de chacune des familles. J'aimerai retrouver le numéro de la famille à laquelle un identifiant appartient.

Ex: J'ai un identifiant TC. Il appartient à la famille "P". Il faut donc que je récupère la valeur 2 puisque "P" se trouve être le deuxième élèment dans l'énumération de la famille.
string id = "TC";
int famille = ? //C'est là que je sais pas comment faire...un switch, une boucle de recherche???


public enum famille { L = 1, P, D, H };

public enum Enum_L { LA = 1, LB, LC, LD, LE, LF, LG, EA };
public enum Enum_P { PA = 1, PB, PC, PD, PE, TC, TD, TE, TF };
public enum Enum_D { DA = 1, DB, DC, INJ };
public enum Enum_H { HI = 1, HJ, HK, HL, HM };

2 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
27 juil. 2009 à 11:24
Salut

Tu peux faire comme ça :

string id = "TC";
int valFamille; // ne pas prendre le même nom que pour ton enum...
int i;
string liste = "";
for (i = 0; i < 100 /* pour éviter la boucle infinie */; i++)
{
    if (((Enum_L)i).ToString() id) { liste "L"; break; }
    if (((Enum_P)i).ToString() id) { liste "P"; break; }
    if (((Enum_D)i).ToString() id) { liste "D"; break; }
    if (((Enum_H)i).ToString() id) { liste "H"; break; }
}
if(i < 100)
{
    for (i = 0; i < 100; i++)
    {
        if (((famille)i).ToString() == liste) break;
    }
    if(i < 100)
    {
        valFamille = i;
    }
}


Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
26 juil. 2009 à 08:30
Bonjour,

int i = (int)MyEnum.MyValue;


[hr]
-Blog-
-Site Perso-
0
Rejoignez-nous