Ich habe eine Liste namens DiscountableObject. Jedes Objekt auf der Liste hat seinerseits eine Rabatt-Sammlung. Was ich brauche, ist eine Liste von Discounts, die in allen DiscoubtableObjects üblich sind.LINQ schneiden, aber das Ergebnis zu einer neuen Liste hinzufügen
Code:
List<Discount> IntersectionOfDiscounts = new List<Discount>();
foreach(var discountableItem in DiscoutableObject)
{
IntersectionOfDiscounts = IntersectionOfDiscounts.Intersect(discountableItem.Discounts);
}
Dies wird zweifellos eine leere Liste zurück, weil durch IntersectionOfDiscounts in erster Instanz leer war.
Was ich will ist, nehmen Sie den Gegenstand 1 des DiscountableObject, vergleichen Sie es mit dem nächsten Artikel von DiscountableObject und so weiter.
Ich weiß, was ich versuche zu tun ist falsch, weil ich die Kreuzung und die Ergänzung der Liste zur gleichen Zeit mache ... aber wie sonst noch verblüfft mich?
Wie kann ich das umgehen?
Wie über einige Testdaten zu Ihrem Beispiel das Hinzufügen und das, was Sie wollen der Ausgang sein? –