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 :

connaitre les elements de difference de deux tableaux


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut connaitre les elements de difference de deux tableaux
    Bonjour, je veux connaitre les elements de difference de deux tableaux

    Pour mon premier tableau :
    Int16 mois[] = new {1, ...,12}
    Mon deuxieme tableau je dois me remplir a travers un collection, mais je ne trouve pas la methode add pour ajouter un element a un tableau

    for (int i=0; i< oMesObjets.count; i++)
    ajouter Element a mon 2 eme tableau

    puis dans une 3eme etape, je dois connaitre les mois qui n'existe pas au niveau du 2eme tableau en faisant la difference entre les deux

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    Bonjour,

    C'est simple, tu as juste à faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Enumerable.Except(array1, array2);
    Linq ça sauve des vies
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 282
    Par défaut
    Pour les tableaux, il n'existe pas de méthode Add comme sur les collections. Il te faut utiliser l'index pour associer un élément à ton tableau, comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    short[] myTab = new short[10];
    for (int i = 0; i < myTab.Length; i++)
    {
        myTab[i] = (short)(10 + i);
    }
    A ta place, je profiterais de la richesse du Framework .NET, et j'utiliserais Linq (System.Linq) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
                var array1 = new short[] {1, 2, 3, 4, 5, 6, 7};
                var array2 = new short[7];
     
                for (short i = 0; i < 7; i++)
                {
                    array2[i] = (short)(i + 5);
                }
     
                // Liste des short (=Int16) qui sont dans array1 mais pas dans array2
                foreach (short mois in array1.Except(array2))
                {
                    Console.WriteLine(mois);
                }
    Edit : j'aurais pas du boire mon café, je suis trop lent ^^

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut
    Mais comment puis je svp remplir mon 2eme tableau a partir de ma collection.

    foreach(elem in elems)
    tab[?] = elem.id

  5. #5
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    blabla[] tab2 = list.ToArray();
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  6. #6
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut
    C'est bon maintenant,sauf que Visual studio ne me donne pas le Except

    j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IEnumerable<short> MoisNonDeclare = Mois.Except 
    Je ne trouve pas le system.Linq ??

  7. #7
    Membre émérite

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Par défaut
    Quelle version du framework ? As tu bien using System.Linq; la dll référencée, etc ?

    Sinon si tu veux savoir les mois qui sont uniques dans les deux listes, il faut utiliser Enumerable.Except();
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

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

Discussions similaires

  1. [Tableaux] Connaitre les doublons d'un tableau
    Par yobogs dans le forum Langage
    Réponses: 3
    Dernier message: 12/09/2007, 11h38
  2. [Tableaux] Comment enlever les elements vide d'un array
    Par BernardT dans le forum Langage
    Réponses: 9
    Dernier message: 07/07/2006, 12h12
  3. [Tableaux] regrouper les elements d'un tableau
    Par ericmart dans le forum Langage
    Réponses: 3
    Dernier message: 23/06/2006, 09h35
  4. Permuttez les éléments de deux zones de liste
    Par flo64 dans le forum Access
    Réponses: 4
    Dernier message: 01/06/2006, 09h15
  5. Connaitre les deux premier chiffres d'un input
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/01/2005, 16h50

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