Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
683 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Enumération et noms composés ??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Enumération et noms composés ??

n°1551555
pot2yaourt
Posté le 30-04-2007 à 16:42:38  profilanswer
 

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.

mood
Publicité
Posté le 30-04-2007 à 16:42:38  profilanswer
 

n°1551613
pikti
I’ve done worse
Posté le 30-04-2007 à 19:18:35  profilanswer
 

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

n°1551619
_Mose_
Lonesome coder
Posté le 30-04-2007 à 19:45:25  profilanswer
 

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.

n°1551650
pot2yaourt
Posté le 30-04-2007 à 20:45:50  profilanswer
 

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é.

n°1551651
pot2yaourt
Posté le 30-04-2007 à 20:49:22  profilanswer
 

_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 ?

n°1551669
_Mose_
Lonesome coder
Posté le 30-04-2007 à 21:54:58  profilanswer
 

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

n°1551741
pot2yaourt
Posté le 01-05-2007 à 09:54:55  profilanswer
 

Merci bcp !!

n°1552019
Tamahome
⭐⭐⭐⭐⭐
Posté le 02-05-2007 à 07:51:01  profilanswer
 

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 /人◕ ‿‿ ◕人\
n°1552362
MagicBuzz
Posté le 02-05-2007 à 14:45:03  profilanswer
 

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.

n°1555179
pot2yaourt
Posté le 04-05-2007 à 10:09:39  profilanswer
 

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.

mood
Publicité
Posté le 04-05-2007 à 10:09:39  profilanswer
 

n°1555199
Tamahome
⭐⭐⭐⭐⭐
Posté le 04-05-2007 à 10:37:19  profilanswer
 

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


---------------
Hobby eien /人◕ ‿‿ ◕人\
n°1555314
MagicBuzz
Posté le 04-05-2007 à 14:01:34  profilanswer
 

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

n°1555357
Tamahome
⭐⭐⭐⭐⭐
Posté le 04-05-2007 à 14:35:01  profilanswer
 

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 /人◕ ‿‿ ◕人\
n°1555366
MagicBuzz
Posté le 04-05-2007 à 14:41:26  profilanswer
 

Bah quoi ? :D

n°1555369
Tamahome
⭐⭐⭐⭐⭐
Posté le 04-05-2007 à 14:43:12  profilanswer
 

rien, rien...


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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Enumération et noms composés ??

 

Sujets relatifs
Extraire des noms et des emails de fichier htmRécuper les noms des variables correspondant à des objets
Script: ecrire les noms des sous repertoires dans un fichierRécupérer et comparer noms de dossiers
Remplcer les %20 en espace dans les noms de fichiersTk et les accents dans les noms de répertoire
Gestion des énumération : table à part ou ENUM ?Affichage noms classes heritees
Trier par ordre alphabetique avec des noms au format HTMLAWK: Probleme avec longueur des noms de fichiers de données
Plus de sujets relatifs à : Enumération et noms composés ??


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR