ich habe zwei Listen und möchte feststellen können, ob die eine Liste die andere abdeckt. Einer der Listen besteht jedoch aus Flags. Offenbar kommt die Intersect-Linq-Funktion damit nicht klar, denn ich erhalte im Beispiel hier unten das Ergebnis, dass nur einer der Werte in der anderen Liste enthalten ist:
[Flags]
public enum Waehrung
{
Silber = 1,
Gold = 2,
Platin = 4
}
List<Waehrung> lstPreis = new List<Waehrung>();
lstPreis.Add(Waehrung.Gold);
lstPreis.Add(Waehrung.Gold);
List<Waehrung> lstKonto = new List<Waehrung>();
lstKonto.Add(Waehrung.Silber | Waehrung.Gold);
lstKonto.Add(Waehrung.Gold);
List<Waehrung> lstBezahlbar = lstKonto.Intersect(lstPreis).ToList();
Meine Frage ist nun, ob es dennoch eine elegante und einfache Lösung gibt oder ob ich selbst eine Prüfroutine schreiben muss.
Wäre für Hinweise sehr dankbar!