Enumération et noms composés ??

Enumération et noms composés ?? - C#/.NET managed - Programmation

Marsh Posté le 30-04-2007 à 16:42:38    

Salut tlm,
 
Est-il possible d'écrire une énumération avec des noms composés de ce type :
 
enum myEnum {Le chien, Le chat, L'oiseau }
 
Merci d'avance pour votre réponse,
Lionel.

Reply

Marsh Posté le 30-04-2007 à 16:42:38   

Reply

Marsh Posté le 30-04-2007 à 19:18:35    

As-tu testé ? :D  
 
Sinon non ce n'est pas possible  :)  
 
A toi de gérer la répresentation de ton enum en string

Reply

Marsh Posté le 30-04-2007 à 19:45:25    

Définitivement non.
Voir la grammaire du C#  (2.11)
 
Attention : il ne faut pas confondre type énuméré et liste de chaîne.
D'un côté on a un type utilisable par la machine, de l'autrre un ensemble de chaînes de caractères éventuellement à destination de l'utilisateur final.

Reply

Marsh Posté le 30-04-2007 à 20:45:50    

pikti a écrit :

As-tu testé ? :D  
 
Sinon non ce n'est pas possible  :)  
 
A toi de gérer la répresentation de ton enum en string


 
Oui, j'ai testé plusieurs syntaxes (avec des simples ou doubles quotes) mais ça n'a pas marché.

Reply

Marsh Posté le 30-04-2007 à 20:49:22    

_Mose_ a écrit :

Définitivement non.
Voir la grammaire du C#  (2.11)
 
Attention : il ne faut pas confondre type énuméré et liste de chaîne.
D'un côté on a un type utilisable par la machine, de l'autrre un ensemble de chaînes de caractères éventuellement à destination de l'utilisateur final.


 
Est-ce que tu as un exemple de code de liste de chaînes sous la main, stp ?

Reply

Marsh Posté le 30-04-2007 à 21:54:58    

Code :
  1. string[] meschaines = new string[] {"Le chien", "Le chat", "L'oiseau"};

Reply

Marsh Posté le 01-05-2007 à 09:54:55    

Merci bcp !!

Reply

Marsh Posté le 02-05-2007 à 07:51:01    

avec les attributs tu peux t'amuser a coller des strings a tes enums... apres, est ce vraiment ce que tu veux faire ?


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Marsh Posté le 02-05-2007 à 14:45:03    

Autre solution :
 

Code :
  1. abstract class Animaux
  2. {
  3.    public const string Chien = "Le chien";
  4.    public const string Chat = "Le chat";
  5.    ...
  6. }
  7.  
  8. Et dans ton code :
  9.  
  10. Console.WriteLine(Animaux.Chien);


 
Mais ze top :

Code :
  1. public enum Aniconst {chien, chat, ...}
  2.  
  3. abstract class Animaux
  4. {
  5.    private const string[] _labels = new stirng[] {"Le chien", "Le chat", ...};
  6.  
  7.    public static string NomAnimal(Aniconst animal)
  8.    {
  9.        return _labels[(int)animal];
  10.    }
  11. }
  12.  
  13. Et dans ton code :
  14.  
  15. Console.WriteLine(Animaux.NomAnimal(Constani.Chien));


 
Pas testé, truffé de bugs, mais bon, c'est pour voir le principe ;)
 
D'ailleurs, je me suis toujours demandé si on pouvait avoir un enum directement dans une class... Là c'est chiant de devoir le déclarer en global alors qu'il n'est utilisé que pour une classe...
Idem pour le coup de la constante sur la class abstraite, je sais pas si on peut y faire appel depuis la fonction statique. C'est bien con de rendre instanciable une classe juste à cause de ça.

Reply

Marsh Posté le 04-05-2007 à 10:09:39    

Merci bcp pour votre aide.  
 
J'ai finallement opté pour un simple tableau de strings et lorsqu'une valeur est affectée, je recherche si cette valeur est présente dans mon tableau avec de l'affecter, sinon je retourne false.
 
En tous cas, ces exemples de codes m'ont permis de voir ce qu'il était possible de faire.
 
Encore merci à vous tous !
Lionel.

Reply

Marsh Posté le 04-05-2007 à 10:09:39   

Reply

Marsh Posté le 04-05-2007 à 10:37:19    

si tu fais ca utilise plutot les List<> avec la méthode Contains() qu'un simple tableau que tu parcours...


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Marsh Posté le 04-05-2007 à 14:01:34    

Dictionary pourraît être encore mieux, dans la mesure où il est trié.
Après, il faut voir si ça a une utilité d'avoir une liste triée et une association clé/valeur

Reply

Marsh Posté le 04-05-2007 à 14:35:01    

MagicBuzz a écrit :

Dictionary pourraît être encore mieux, dans la mesure où il est trié.
Après, il faut voir si ça a une utilité d'avoir une liste triée et une association clé/valeur


 
que dire apres ca...


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Marsh Posté le 04-05-2007 à 14:41:26    

Bah quoi ? :D

Reply

Marsh Posté le 04-05-2007 à 14:43:12    

rien, rien...


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Sujets relatifs:

Leave a Replay

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