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

VB.NET Discussion :

[2.0] Tester l'existence d'une clé d'un Dictionary


Sujet :

VB.NET

  1. #1
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut [2.0] Tester l'existence d'une clé d'un Dictionary
    Salut,

    Quelle méthode doit-on utiliser lorsqu'on souhaite tester l'existence d'une clé d'un objet Dictionary?
    J'utilise la méthode oDico.ContainsKey() qui paraît assez parlante, mais lors d'une tentative d'insertion de paire clé/valeur j'ai une erreur me disant que la clé existe déjà.
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Public Shared Function listerRetourEnvoi(ByVal fichier As String, ByVal er As String) As Dictionary(Of String, Boolean)
    	Dim listeRetour As Dictionary(Of String, Boolean) = New Dictionary(Of String, Boolean)
    	Dim fluxRetour As StreamReader = New StreamReader(fichier)
    	Dim ligne, numero As String
    	Dim statut As Boolean
     
    	Do While fluxRetour.ReadLine IsNot Nothing
    		ligne = fluxRetour.ReadLine
    		If Not listeRetour.ContainsKey(ligne.Substring(0, fluxRetour.ReadLine.IndexOf(";"))) Then
    			numero = formaterNumeroClient(ligne.Substring(0, ligne.IndexOf(";")), er)
    			statut = IIf(ligne.Substring(ligne.IndexOf(";")) = "OK", True, False)
    			listeRetour.Add(numero, statut)
    		End If
    	Loop
     
    	Return listeRetour
    End Function
    Comment faire?

    Merci par avance.

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    C'est parce que tu n'utilises pas la même valeur dans le containskey et dans l'insertion de l'élément.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    En effet, parfois je me dis qu'il faudrait que je m'achète des yeux...

    Merci à toi.

Discussions similaires

  1. Tester l'existence d'une table sous Access
    Par Oluha dans le forum Bases de données
    Réponses: 10
    Dernier message: 29/08/2005, 09h42
  2. Réponses: 3
    Dernier message: 19/08/2005, 14h24
  3. tester l existance d une table
    Par mick84m dans le forum Requêtes
    Réponses: 4
    Dernier message: 25/04/2005, 11h24
  4. [JDBC]Tester l'existence d une table
    Par juflata dans le forum JDBC
    Réponses: 7
    Dernier message: 29/06/2004, 15h27
  5. [ADO] Tester l'existence d'une table
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 05/09/2002, 13h55

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