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 :

Ma méthode contains m'affiche toujours false


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : Algérie

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2018
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Ma méthode contains m'affiche toujours false
    Ma méthode contains m'affiche toujours false pourtant mon objet existe bel et et bien dans la liste arraylist

  2. #2
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 419
    Points : 2 178
    Points
    2 178
    Par défaut
    Bonsoir,
    Vérifi que tu n'as pas d'espaces dans ta clé !

  3. #3
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Peux-tu poster un exemple de code ?

    Si ton type d'objet est un type référence (hors type de bases int/string/etc. ou struct), il faut que l'objet recherché soit la même instance que celui qui est présent dans le ArrayList, pas simplement "identique" (même valeurs) ni simplement du même type.
    On ne jouit bien que de ce qu’on partage.

  4. #4
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Il faut implémenter l'interface IEquatable comme marqué ici : https://docs.microsoft.com/en-us/dot...tframework-4.8

  5. #5
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Un petit exemple complet :
    Code csharp : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    using System;
    using System.Collections.Generic;
     
    namespace ContainsExemple
    {
        public class Personne
        {
            public string Nom { get; set; }
            public string Prenom { get; set; }
        }
     
        public class PersonneEqualable : IEquatable<PersonneEqualable>
        {
            public string Nom { get; set; }
            public string Prenom { get; set; }
     
            public bool Equals(PersonneEqualable p)
            {
                return (p.Nom == Nom && p.Prenom == Prenom);
            }
     
            public PersonneEqualable(Personne source)
            {
                Nom = source.Nom;
                Prenom = source.Prenom;
            }
        }
     
        public static class Exemple
        {
            public static void Run()
            {
                Personne p1 = new Personne() { Nom = "Dupont", Prenom = "Jacques" };
                Personne p2 = new Personne() { Nom = "Durant", Prenom = "Jules" };
     
                PersonneEqualable pe1 = new PersonneEqualable(p1);
                PersonneEqualable pe2 = new PersonneEqualable(p2);
     
                List<Personne> personnes = new List<Personne>() { p1, p2 };
                List<PersonneEqualable> personneequalables = new List<PersonneEqualable>() { pe1, pe2 };
     
                Personne p = new Personne() { Nom = "Dupont", Prenom = "Jacques" };
                PersonneEqualable pe = new PersonneEqualable(p);
     
                Console.WriteLine($"personnes contient p1 = {personnes.Contains(p1)}");
                Console.WriteLine($"personnes contient p = {personnes.Contains(p)}");
     
                Console.WriteLine($"personneequalables contient pe1 = {personneequalables.Contains(pe1)}");
                Console.WriteLine($"personneequalables contient pe = {personneequalables.Contains(pe)}");
     
            }
     
     
        }
    }
    On ne jouit bien que de ce qu’on partage.

  6. #6
    Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : Algérie

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2018
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    j'ai cru que personne va me répondre alors j'ai totalement oublier que j'ai poser une question désole et merci pour vos réponses

    @StringBuilder
    vous voulez dire que la méthode contains compare les références et non pas le contenu de la variable qu'on il s'agit d'un type non basique ?

  7. #7
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par djouherdjouher Voir le message
    j'ai cru que personne va me répondre alors j'ai totalement oublier que j'ai poser une question désole et merci pour vos réponses

    @StringBuilder
    vous voulez dire que la méthode contains compare les références et non pas le contenu de la variable qu'on il s'agit d'un type non basique ?
    Oui, comme l'indique l'exemple que j'ai posté hier, Contains, par défaut, ne compare que les références.
    Si on veut comparer les valeurs des types référence, il faut implémenter l'interface IEquatable<T> ou IComparable et fournir la méthode Equals()
    On ne jouit bien que de ce qu’on partage.

  8. #8
    Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : Algérie

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2018
    Messages : 4
    Points : 3
    Points
    3
    Par défaut StringBuilder
    d'accord mercii

  9. #9
    Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : Algérie

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2018
    Messages : 4
    Points : 3
    Points
    3
    Par défaut StringBuilder
    si vous pouvez me fournir un autre exemple en java je serai reconnaissante parce que j'arrive toujours pas a régler ce problème

  10. #10
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par djouherdjouher Voir le message
    si vous pouvez me fournir un autre exemple en java je serai reconnaissante parce que j'arrive toujours pas a régler ce problème
    Euh... Java ?

    Ici on parle de .NET

    Certes, mon exemple est en C# sur le forum VB.NET, mais le Framework est le même, et le comportement de Contains est rigoureusement identique.

    En revanche, aucune idée du comportement de cette méthode (si elle existe) avec Java... Je ne suis même pas sûr que le type string en Java soit aussi un type valeur et non pas un type référence comme en C++... Alors de là à parler du comportement des méthodes de classes avancées comme une liste...
    On ne jouit bien que de ce qu’on partage.

Discussions similaires

  1. [XSLT]fonction contains retourne toujours false
    Par wildmary dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 01/08/2007, 11h22
  2. [WebForms]Afficher toujours le même URL pour toutes mes pages
    Par Irish dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 15/12/2006, 14h44
  3. Méthode rapide pour afficher des carré de couleur
    Par matteli dans le forum DirectX
    Réponses: 7
    Dernier message: 03/12/2006, 19h50
  4. méthode contains et utilisation
    Par kamos dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 01/11/2006, 21h53
  5. [VB.Net] isPostBack est toujours False
    Par graphicsxp dans le forum ASP.NET
    Réponses: 10
    Dernier message: 28/02/2006, 18h23

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