Comparer deux liste [Résolu]

Signaler
Messages postés
135
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
23 décembre 2009
-
Messages postés
805
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
30 octobre 2010
-
bonjour,
je cherche deseperement à comparer de liste. Dans chaque liste il y a une liste de personne.

Je dois savoir qui a quitté cette liste et qui viens d'y entrer mais je ne trouve pas de solution pour le faire. Si vous avez une idée elle est la bievenue ;)

[mailto:gomoz@free.fr Gomoz]

6 réponses

Messages postés
805
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
30 octobre 2010

Euh excuse moi, j'ai pas bien lu ce que tu voualis, voila le code pour avoir les absents

System.Collections.ArrayList Absents = new System.Collections.ArrayList ();
for(int i = 0; i!=list1.Items.Count ; i++)
{
bool Absent = true;
for(int j = 0; j!=list2.Items.Count ; j++)
{
if(list1.Items[i].ToString().ToLower() == list2.Items[j].ToString().ToLower())
{
Absent = false;
break;
}
}
if( Absent)
{
Absents.Add(list1.Items[i].ToString().
}
}

YaoYao !!
1 + 1 = 10
Messages postés
805
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
30 octobre 2010

Salut, allez je v te l'ecrire

bool Identique = true;
if(list1.Items.Count == list2.Items.Count)
{
list1.Sorted = true;
list2.Sorted = true;
for(int i = 0; i!=list1.Items.Count ; i++)
{
if(list1.Items[i].ToString().ToLower() != list2.Items[i].ToString().ToLower())
{
Identique = false;
break;
}
}
else
{
Identique = false;
}

(code non testé, mais j'ai un tit peu confiance en moi )

Bonne chance

YaoYao !!
1 + 1 = 10
Messages postés
135
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
23 décembre 2009

merci mais en fait ce que je veux ce n'est pas savoir si la liste est la même mais lister ceux qui étaient dans l'ancienne liste et qui ne sont plus dans la nouvelle et ceux qui sont dans la nouvelle alors u'ils n'éatient pas dans l'ancienne.

[mailto:gomoz@free.fr Gomoz]
Messages postés
805
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
30 octobre 2010

un tit peu de bricolage c tt

System.Collections.ArrayList Absents = new System.Collections.ArrayList ();

for(int i = 0; i!=list1.Items.Count ; i++)
{
bool Present = false;
for(int j = 0; j!=list2.Items.Count ; j++)
{

if(list1.Items[i].ToString().ToLower() == list2.Items[j].ToString().ToLower())
{
Present = true;
break;
}
}
if( present)
{
Absents.Add(list1.Items[i].ToString().
}
}

Voila, si tu permet la classification alphabétique des listes, je peux te passer une version plus optimiser, mais celle la cava

Bonne chance

YaoYao !!
1 + 1 = 10
Messages postés
135
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
23 décembre 2009

merci

[mailto:gomoz@free.fr Gomoz]
Messages postés
805
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
30 octobre 2010

po2koi, je ne fait que partager ce que les autres m'ont appris

Bonne chance...

YaoYao !!
1 + 1 = 10