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

Dotnet Discussion :

Comparaison de données entre deux arrays


Sujet :

Dotnet

  1. #1
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut Comparaison de données entre deux arrays
    Bonjour et désolé de poser cette question qui paraîtra simple à beaucoup mais sur laquelle je susi depuis hier aprem.

    J'ai deux array de type string[] et j'aimerais comparer les éléments de chaque array : en effet, pour les éléments communs, je ne fais rien et s'il y a des éléments qui ne sont que dans array1 alors j'effectue un traitement et si s'il y a des éléments qui ne sont que dans array2, j'effectue un autre traitement.

    Voilà y aurait-il une méthode du style intersect() pour me permettre de faire cette comparaison ?

    Sinon voyez-vous un moyen plsu simple ou moins lourd point de vue code à exécuter??

    Merci d'avance de votre aide.
    "Le calendrier, c'est la bureaucratie du temps." Quino

  2. #2
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 274
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 274
    Points : 1 280
    Points
    1 280
    Par défaut
    avec la methode compare peut etre :

    http://msdn.microsoft.com/library/fr...mpareTopic.asp

    y'a un exemple avec une arraulist, ca peut peut etre t'interesser
    j'suis vert !

  3. #3
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Merci pour le lien mais ça m'oblige à faire deux boucles imbriquées pour appliquer la méthode compare et ensuite refaire une boucle pour traiter les éléments qui divergent entre les deux arrays.

    Si on ne peut pas faire mieux, je prendrais cette solution quand même :p

    Sinon, d'autres suggestions?

    Je vais expliciter plus clairement mon problème. J'ai un array (array1) dans lequel je récupère les éléments d'une combobox. Le second array (array2) contient les éléménts d'un champ d'une table de ma base de données. Lorsque je clique sur modifier, j'ai 3 traitements à faire :

    1. si les éléments sont présents dans les deux arrays, je ne fais rien de précis.
    2. si un élément appartient à array1 et pas à array2, j'ajoute l'élément dans la base de données.
    3. si un élément appartient à array2 et pas à array1, je supprime l'élément de ma base données.

    Voilà mon problème. Je pensais, de façon bourrine, copier dans array3 seulement les éléments présents dans array1 et pas dans array2 mais de ce fait, je dois faire un premier parcours pour remplir cet array3 et ensuite faire les traitements 2. et 3.

    Mon objectif ici est d'y arriver en une boucle si c'est possible. Dons si quelqu'un a une idée, je suis preneur :p
    "Le calendrier, c'est la bureaucratie du temps." Quino

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    C'est peut-être possible en une boucle mais à mon avis uniquement si les éléments sont triés et son uniques.
    On maintient deux indices incrémentés à chaque boucle et on compare les deux éléments.
    L'ajout ou suppression fait aussi évoluer les indices en conséquence.
    La difficulté est de déterminer si une différence doit générer un ajout ou une suppression...
    On ne peut pas faire boire un âne qui n'a pas soif.

  5. #5
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Oui voilà le vrai problème, c'est savoir s'il faut ajouter ou supprimer, c'est pour ça que je commençais à laisser tomber cette idée hier soir et d'essayer de trouver depuis ce matin une "feinte" disons lol.
    "Le calendrier, c'est la bureaucratie du temps." Quino

  6. #6
    Membre actif
    Inscrit en
    Janvier 2004
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 208
    Points : 227
    Points
    227
    Par défaut
    creer une classe static pour faire les comparaisons

    appel ta classe avec un conteneur pour stocké les valeurs et les traité

    a plus

  7. #7
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Merci finalement je ne me suis pas embété. J'ai vidé les éléments de ma table et j'ai inséré tous les éléments provenant de la combo (array2). Cette combo étant généralement pas trop remplie (5 éléments max), je pense que cette solution n'est pas optimale mais a fait ces preuves.

    Merci à tous ceux qui m'ont aidé aujourd'hui, un grand merci à vous pour votre temps et votre gentillesse.
    "Le calendrier, c'est la bureaucratie du temps." Quino

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

Discussions similaires

  1. Comparaison de données entre deux tables
    Par da_latifa dans le forum Développement
    Réponses: 3
    Dernier message: 29/07/2014, 16h16
  2. [XL-2003] Comparaison données entre deux feuilles
    Par ivanG dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/05/2014, 09h51
  3. Comparaison de données entre deux bases
    Par Soussou33 dans le forum Sql Developer
    Réponses: 2
    Dernier message: 14/04/2014, 09h56
  4. Comparer des données entre deux Array
    Par Louro999 dans le forum Ruby
    Réponses: 3
    Dernier message: 08/06/2011, 18h01
  5. Réponses: 22
    Dernier message: 25/02/2009, 09h11

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