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 :

Liste, savoir si valeur existe


Sujet :

VB.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 117
    Points : 72
    Points
    72
    Par défaut Liste, savoir si valeur existe
    Bonjour, j'aimerai vérifier dans une liste integer si elle contient un nombre voulu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim existe As Boolean = False
            For Each cube As Integer In lstCube
                If cube = 0 Then
                    existe = True
                End If
            Next
    Ce code fonctionne bien mais cela peut être long si il y a 600 int dans la liste et qu'il faut vérifier le dernier.

    Il y as t'il une méthode pour savoir si une valeur existe dans une liste ?

    Merci d'avance.

  2. #2
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Bonjour,

    Tu peux utiliser List(Of T).Contains à la place.
    T'auras pas spécialement de différence au niveau du temps (parce que Contains à aussi une complexité linéaire et donc doit faire en gros la même chose que toi) mais ça sera plus clair dans ton code.

    Par contre à moins d'avoir un pc datant du moyen-âge parce qu'après un rapide test (sur une liste de 600 nombres positifs choisis au hasard dans laquelle je recherche un nombre négatif [donc pire cas obliger de parcourir toute la liste]) j'obtiens le résultat en 0.02 ms environ (aussi bien avec Contains que ton code)
    Pour donner un ordre de grandeur si je cherche à un obtenir un temps significatif (de l'ordre de 1 seconde pour compléter la recherche) il me faut une liste de 60 millions d'éléments.

    Donc à voir si la source du ralentissement de ton code ne serait pas ailleurs

    Cordialement !
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 117
    Points : 72
    Points
    72
    Par défaut
    Merci pour ta réponse. Non je n'ai pas de ralentissement c'est simplement que j'avais peur que sa prenne du temps pour une liste de 600 items.

    Du coup j'utilise List(Of T).Contains c'est bien plus propre que mon code.

    Merci.

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

Discussions similaires

  1. [MySQL] Savoir si une valeur existe
    Par soksabaidee dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 13/06/2010, 13h27
  2. Réponses: 2
    Dernier message: 04/06/2010, 21h53
  3. comment savoir à quelle liste appartient une valeur?
    Par tsly_mdk dans le forum Général Python
    Réponses: 7
    Dernier message: 03/12/2009, 12h33
  4. Tester la base pour savoir si une valeur existe
    Par adrien.gendre dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/07/2007, 17h27
  5. Tester qu'une valeur existe dans une "liste"
    Par Oluha dans le forum Langage
    Réponses: 12
    Dernier message: 04/08/2005, 23h01

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