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 :

Recuperation des donnée d'une hashtable


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 931
    Par défaut Recuperation des donnée d'une hashtable
    Bonjour,
    Je me bagarre avec une collection Hashtable.
    Dans cette collection, je stocke des données recuperer d'un XML
    chaque hashtable contiens:
    La clef et l'objet Collection.LaCollection () c'est une classe qui décortique mes donnée recuperer.

    J'ai réussi sans problème en Vb.net mais j'arrive pas a reproduire la même chose avec C#.

    Voici comment je charge ma Collection en VB:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim Co As New Collection
    Co = CollMesure(CollMesure.Keys(i)) 'CollMesure étant mon Hashtable
    Ensuite j'ai plus qu'a recuperer mes info avec Co.Nom ou Co.Format etc..

    Voici ce que j'ai fait en C#:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    string Supervision;
    Co = new Collection.LaCollection ();
    Supervision = comboBox1.Text;
     ListeMesures = new Hashtable();
    ListeMesures = GXml.Liste_ObjetMesures("params.xml", Supervision); // cela me rempli ma Hashtable.
     
    //Pour recuperer mes info dans m'a hashtable il faut que je remplisse m'a collection Co.
    // J'ai essayé
    Co = ListeMesures.Keys(i);
    Co = ListeMesures(CollMesure.Keys(i));
    Co = ListeMesures[CollMesure.Keys(i)];
    //etc.... Mais il me fait une erreur a chaque.
    Merci de votre aide.

  2. #2
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut

    Les indices en C# se mettent entre crochet [i] PAS des parentheses (i)

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 311
    Par défaut
    Et tu devrais utiliser les collections génériques plutôt que les collections .NET 1

  4. #4
    Membre éprouvé Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 931
    Par défaut
    Bonjour à vous,
    Merci d'avoir répondu.

    J'ai essayé aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Co = ListeMesures[CollMesure.Keys[i]];
    Ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Co = ListeMesures(CollMesure.Keys[i]);
    Mais cela ne marche pas.

    En analysant ce que j'ai trouvé, celle ci aurait du être la bonne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Co = ListeMesures[CollMesure.Keys[i]];

    En ce qui concerne l'utilisation des collections .Net pourriez vous argumenté ce choix de ne pas les prendre car si elle sont disponible, je vois pas pourquoi ne pas les utilisés (il y a surement une bonne raison). Et dans ce cas qu'elle collection je devrais utilisé pour cela.

    Sachant que pour le moment je connait que le C/C++ ainsi que le VB.net(2008) que j'ai fait pendant mon stage.(J'ai 39 ans et suis en reconversion actuellement)

    Enfaite j'ai presque fini mon programme en VB et vu que c'est moi qui a amené ce sujet au prof pour en faire un projet pour le BTS IRIS, mais en C#.

    Pendant un moment j'avais pas trouvé de Hashtable en C# j'avais donc fait une tentative avec Dictionary que j'ai abandonné uniquement parce que j'ai vu qu'il y avais bien des hashtables.

    Pourriez vous me proposer une idée s'il vous plait, pour que je sorte de cette impasse qui doit surement être une bêtise de m'a part.

    Merci

  5. #5
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut Tu peux copier une HashTable dans une ArrayList

    Methode CopyTo

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 311
    Par défaut
    Travailler avec Dictionary permet, lorsqu'on utilise les valeurs, de travailler directement avec les bons types, plutôt que d'utiliser la classe Object, et devoir caster à chaque fois vers le bon type.

    Si vous avez ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dictionary<string, int> dictionary = new Dictionary<string, int>();
    dictionary.Add("Toto", 1);
    dictionary.Add("Foo", 2);
     
    int val = dictionary["Toto"]; //val vaut 1 ici

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

Discussions similaires

  1. probleme de recuperation des données d'une bd
    Par mystro7200 dans le forum Struts 1
    Réponses: 5
    Dernier message: 02/12/2008, 20h31
  2. Recuperer des données d'une fonction JS
    Par dad72 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/11/2008, 19h22
  3. recuperation des données d'une combo box
    Par Kevin.Perez dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 25/04/2008, 12h29
  4. recupere des donnes d'une page excel
    Par marouane2010 dans le forum Visual C++
    Réponses: 3
    Dernier message: 19/11/2006, 10h03
  5. recupere des données d'une requete
    Par torNAdE dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/07/2006, 10h38

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