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 :

Quels parametres pour mon ToDictionary() ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Par défaut Quels parametres pour mon ToDictionary() ?
    Bonsoir,

    Ma fonction doit retourner un Dictionary<int, string>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public Dictionary<int, string> NotesCriteres(List<int> criteres)
            {
                var dataContext = new HabitatDataContext();
                var liste = from t in dataContext.CRITERE
                            where criteres.Contains(t.ID_CRITERE)
                            select new { t.ID_CRITERE, t.NOTES };
     
                return liste.ToDictionary<int, string>(?????);
     
            }
    Pourriez vous me dire quels paramètres renseigner dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    liste.ToDictionary<int, string>(?????)
    Merci beaucoup,
    T.

  2. #2
    Membre éclairé

    Inscrit en
    Janvier 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 44
    Par défaut
    Hello

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    liste.ToDictionary<int, string>(k => k.ID_CRITERE, i => i.NOTES);
    Donc deux expression lambdas.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    En gros, les paramètres sont :
    - une expression lambda qui sélectionne la clé
    - une expression lambda qui sélectionne la valeur

    La solution de michaelcourcy devrait fonctionner

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Par défaut
    Aïe !
    J'ai l'erreur suivante en écrivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return liste.ToDictionary<int, string>(k => k.ID_CRITERE, i => i.NOTES);

    Erreur 3 'System.Linq.IQueryable<AnonymousType#1>' ne contient pas une définition pour 'ToDictionary' et la meilleure surcharge de la méthode d'extension 'System.Linq.Enumerable.ToDictionary<TSource,TKey>(System.Collections.Generic.IEnumerable<TSource>, System.Func<TSource,TKey>, System.Collections.Generic.IEqualityComparer<TKey>)' contient des arguments non valides

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    La surcharge de ToDictionary qui prend 2 lambdas expressions a 3 paramètres de type générique, et non 2. Donc si tu spécifies explicitement les paramètres de type et que ce ne sont pas les bons, il ne trouve pas la méthode qui va bien... De toutes façons, inutile de spécifier les paramètres de type, le compilateur peut les deviner tout seul grâce à l'inférence de type générique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return liste.ToDictionary(k => k.ID_CRITERE, i => i.NOTES);

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Par défaut
    Effectivement. Merci !
    T.

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

Discussions similaires

  1. Quel forum pour mon site ?
    Par David 01 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 43
    Dernier message: 15/07/2009, 09h45
  2. quel doctype pour mon site ?
    Par Nimajneb dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 15/06/2006, 20h19
  3. quel materiel pour mon reseau Wfi
    Par lyno dans le forum Hardware
    Réponses: 18
    Dernier message: 07/04/2006, 21h26
  4. [Débutant] Quel Language Pour Mon Utilisation
    Par Ultiny dans le forum Windows
    Réponses: 4
    Dernier message: 13/01/2006, 16h34
  5. Quel linux pour mon vieux duron
    Par hirochirak dans le forum Distributions
    Réponses: 9
    Dernier message: 16/09/2004, 09h26

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