IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Initialisation d'un dictionaire


Sujet :

C#

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut Initialisation d'un dictionaire
    Bonjour tout le monde,

    Je souhaiterais initialiser un dictionnaire au niveau d'une classe. J'ai trouvé le code suivant sur le net mais visual ne semble pas l'accepter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public class LyCsFormatData
        {   
            Dictionary<int, int> _d = new Dictionary<int, int>()
            {
                {1, 1},
                {2, 3}, // <--
                {3, 5},
                {6, 10}
            };
    }
    Est-il possible d'initialiser un dictionnaire de cette manière? (ou du moins de façon similaire?

    Merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Par défaut
    Chez moi ça fonctionne. Tu as quoi comme erreur ??

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    Ben une erreur toute conne genre oublie de point virgule. Exactement il me mets :

    après Dictionary<int, int> _d = new Dictionary<int, int>() : "; expected"
    après le premier { : "invalid token { in class, struct or interface member declaration"

    Je sens que c'est une erreur très très conne

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Par défaut
    J'ai reprise t'as classe telle quelle et j'ai pas de problème.

  5. #5
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 47
    Par défaut
    j'ai le même problème de mon coté ?
    Est-ce dû au framework utilisé ?

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    Ca me rassure
    C'est peut-etre le framework oui, pourtant j'ai le 3.5 (SP1) d'installé.
    Et j'utilise Visual Studio 2005...

  7. #7
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 47
    Par défaut
    j'ai la même config.
    Et toi Matdur ?

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Par défaut
    Je suis en VS2008. J'ai essayé avec le framework 2.0, 3.0 et 3.5 SP1.
    Ça fonctionne avec les 3.

  9. #9
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 47
    Par défaut
    c'est peut être une amélioration de VS 2008 alors

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Par défaut
    Essaie avec la syntaxe suivante, sans les () après le constructeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public class LyCsFormatData
    	{
    		Dictionary<int, int> _d = new Dictionary<int, int>
    		{
                {1, 1},
                {2, 3}, // <--
                {3, 5},
                {6, 10}
            };
    	}

  11. #11
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    Nop ça ne marche pas non plus

  12. #12
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 47
    Par défaut
    je pense que tu vas être obligé de passer par des Add

  13. #13
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    Oui c'est ce que j'ai fait en attendant, mais si quelqu'un trouve une solution magique, je prends!

  14. #14
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Par défaut
    Si tu crées une nouvelle solution, et que tu ré-écris ta classe est ce que t'as le même problème ?

  15. #15
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    oui, idem apres clean -> build ou redémarrage de vs...

  16. #16
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Si cela fonctionne sous VS2008 mais pas sous VS2005 alors c'est qu'une telle façon d'initialiser un dictionnaire est une nouvelle possibilité offerte par le compilateur C# 3 (tout comme les propriétés automatiques pour ne citer que cet exemple). Donc cela ne fonctionnera qu'avec VS2008 minimum.

  17. #17
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    Ok, Merci pour vos réponses,
    Je me débrouillerai autrement donc.

  18. #18
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Si tu veux utiliser .Net 3.5 tout en utilisant VS2005 tu peux toujours utiliser MSBuild pour la compilation et VS2005 pour l'édition et le debug du code.

    Le mieux étant bien sûr de migrer vers VS2008.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Servlet] Fichiers d'initialisation
    Par david71 dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 03/09/2003, 13h47
  2. Créer et initialiser un composant TStatusBar :help:
    Par James_ dans le forum C++Builder
    Réponses: 10
    Dernier message: 21/08/2003, 08h52
  3. [servlet] initialisation d'objets
    Par tiPouick dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 05/08/2003, 12h12
  4. Initialisation de XMLModule
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 10
    Dernier message: 01/04/2003, 10h08
  5. initialisation Directinput avec delphi
    Par Madmaxx dans le forum DirectX
    Réponses: 1
    Dernier message: 21/02/2003, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo