Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Zwei List<T> vergleichen
Bonaqua
myCSharp.de - Member



Dabei seit:
Beiträge: 30

Themenstarter:

Zwei List<T> vergleichen

beantworten | zitieren | melden

Hallo,

ich habe zwei Listen.
Eine Liste mit allen Produktnummern und eine weitere mit nur ein paar Nummern.

Nun möchte ich gerne, wenn ich beide Listen miteinander vergleiche, dass ich nur die Werte aus der ersten Liste erhalten, welche NICHT in der zweiten Liste vorkommen.


List<Nummern> firstNotSecond = lstAlleNummern.Except(lstNummernzuordnung).ToList();

Wenn ich folgenden Code ausführe, erhalte ich jedoch weiterhin alle Werte; also auch alle, welche in der lstNummernzuordnung enthalten sind.

Ist meine Vorgehensweise falsch?
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16147

beantworten | zitieren | melden

Ja, dazu musst Du nur in die Dokumentation schauen, wie das funktioniert.
Enumerable.Except Methode (System.Linq)

Except() verwendet Equals() zur Gleichheitsbestimmung, und per default Unterscheiden sich Objekte anhand der Referenz.
Du willst aber keine Referenzen sondern Werte vergleichen, wozu Du IEquatable implementieren musst.

Aber: steht alles in der Doku inkl. Beispielen - muss man einfach lesen ;-)
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4182

beantworten | zitieren | melden

Hallo,

was ist Nummern für ein Datentyp?
Du solltest dort Equals und GetHashCode implementieren, s.a. Beispiel in Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>).

PS: Hat dir mein Beitrag in BindingSource Filter weitergeholfen?
private Nachricht | Beiträge des Benutzers
Bonaqua
myCSharp.de - Member



Dabei seit:
Beiträge: 30

Themenstarter:

beantworten | zitieren | melden

@Abt / @Th69 Danke für eure Hilfe! Hat nun geklappt!

@Th69 an der BindingList bin ich nun dran ...
private Nachricht | Beiträge des Benutzers