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 :

Récupérer une List dans un Dictionnaire


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 63
    Par défaut Récupérer une List dans un Dictionnaire
    Bonjour à tous,

    Je suis confronté à un problème dans mon application, j'ai un Dictionnaire comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Dictionary<string,Object> donneeProfil = new Dictionary<string,Object>();
    Qui contient un ensemble de clé (code profil) et une liste d'imprimantes associées à ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     List<string> imprimante = new List<string>();
    Mon dictionnaire se rempli correctement, seulement je n'arrive pas à récupérer la valeur d'une liste d'imprimantes associées à un profil.
    J'ai bien essayé comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     foreach (var v in listeProfil)
                    {
                        foreach(var imp in v.Value.ToString())
                        {
                            string test = imp.ToString();
                        }
                    }
    Je vois bien lorsque je suis en déboggage les valeurs de ma liste sous cette forme:
    v.Value>count=2>[0]=VALEUR
    [1]=VALEUR

    Si quelqu'un a une solution à donner, je suis preneur

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Ne devrais-tu pas plutôt procéder de cette façon ?
    Déclaration et remplissage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            List<string> imprimante ;
            private Dictionary<string, List<string>> donneeProfil = new Dictionary<string, List<string>>();
            public Form1()
            {
                InitializeComponent();
                imprimante = new List<string>();
                imprimante.Add("imp1");
                imprimante.Add("imp2");
                donneeProfil.Add("impG1", imprimante);
                imprimante = new List<string>();
                imprimante.Add("imp3");
                imprimante.Add("imp4");
                donneeProfil.Add("impG2", imprimante);
            }
    Lecture (tous les groupes)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            private void button1_Click(object sender, EventArgs e)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("Tous les groupes : ");
                foreach (List<string> v in donneeProfil.Values)
                {
                    foreach (string imp in v)
                    {
                        sb.Append (imp.ToString() + " ");
                    }
                }
                MessageBox.Show(sb.ToString());
            }
    Lecture (un groupe)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            private void button2_Click(object sender, EventArgs e)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("Groupe impG2 : ");
                foreach (string imp in donneeProfil["impG2"])
                {
                    sb.Append(imp.ToString() + " ");
                }
                MessageBox.Show(sb.ToString());
            }
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 63
    Par défaut
    En effet, j'ai abordé le problème à l'envers, tout fonctionne correctement maintenant.

    Merci pour cette solution rapide et efficace!

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

Discussions similaires

  1. Récupérer une liste dans une cellule
    Par louveurMartin dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/12/2014, 14h34
  2. Récupérer une clé dans un dictionnaire à partir d'une valeur.
    Par alaninho dans le forum Général Python
    Réponses: 3
    Dernier message: 05/05/2011, 10h13
  3. Réponses: 4
    Dernier message: 03/06/2008, 18h20
  4. comment modifier une liste dans un dictionnaire?
    Par Mydriaze dans le forum Général Python
    Réponses: 1
    Dernier message: 06/08/2007, 19h57
  5. Réponses: 4
    Dernier message: 24/11/2005, 09h11

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