Créer un tableau de correspondance

Créer un tableau de correspondance - C#/.NET managed - Programmation

Marsh Posté le 01-04-2009 à 11:22:58    

Bonjour,
 
J'ai une question conne, j'aimerai savoir quelle est la meilleure méthode pour créer un Tableau de correspondance, un peu comme un Enum :

Code :
  1. public enum TypeCuisine
  2.  {
  3.   aucune = 1,
  4.   américaine = 2,
  5.   séparée = 3,
  6.   industrielle = 4,
  7.   coin_cuisine = 5,
  8.   américaine_équipée = 6,
  9.   séparée_équipée = 7,
  10.   coin_cuisine_équipé = 8
  11.  };


 
Mais le type Enum ne marche qu'avec des types numériques.
 
Je reçois par exemple '6' et j'aimerai renvoyer "américaine_équipée"
 
Quelqu'un saurait comment procéder ? HashTable, Matrice... ???
 
Merci


Message édité par krovomi le 01-04-2009 à 11:30:56
Reply

Marsh Posté le 01-04-2009 à 11:22:58   

Reply

Marsh Posté le 01-04-2009 à 13:40:03    

QQN ?

Reply

Marsh Posté le 05-04-2009 à 11:27:00    

Dictionnaire <int, string> ?
parse d'un XML ?  
 
Selon le besoin, le volume de données et la fréquence de MAJ il y a un milliard de solutions, à toi d'en choisir une...


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 06-04-2009 à 11:50:14    

+1 avec TotalRecall.... pourquoi chercher midi à 14h ?
un IDictionary<int, string>, et le tour est joué, pas besoin d'aller plus loin... et surtout pas utiliser la reflection, qui est un coup de canon pour tuer une mouche dans ce cas précis


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 07-04-2009 à 17:13:19    

Merci, j'ai finalement opté pour un Dictionnaire, mais je voulais savoir si cela pouvait se via via un enum, et si oui, comment ce dernier se présenterait ?
 
Merci

Reply

Marsh Posté le 08-04-2009 à 12:10:50    

Ah non pardon, je n'avais pas vu ton premier message, merci bien :)

Reply

Marsh Posté le 08-04-2009 à 12:35:41    

Si ça intéresse quelqu'un, la méthode GetDescription dont tu parlais Fred :
 

Code :
  1. public static string GetDescription(Enum en)
  2.  {
  3.   Type type = en.GetType();
  4.   MemberInfo[] memInfo = type.GetMember(en.ToString());
  5.   if (memInfo != null && memInfo.Length > 0)
  6.   {
  7.    object[] attrs = memInfo[0].GetCustomAttributes(typeof(Description), false);
  8.    if (attrs != null && attrs.Length > 0)
  9.     return ((Description)attrs[0]).Text;
  10.   }
  11.   return en.ToString();
  12.  }


Message édité par krovomi le 08-04-2009 à 12:36:28
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed