LordOfTheShadow
Messages postés174Date d'inscriptionvendredi 22 décembre 2000StatutMembreDernière intervention 9 septembre 2010
-
24 juil. 2009 à 11:49
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 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 };
A voir également:
La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201548 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 ! -