我有两个清单:
具有取消
航班的ListA和所有航班的ListB
我想从列表B中删除所有CancelledFlights,并比较所有航班,而不是按对象而是按属性FlightNumber进行比较。我如何用Lambda或LINQ实现呢?我知道如何在LINQ和lambda中选择,但不知道如何删除...
您可以使用linq来做到这一点
var cancelledFlightNumbers = ListA
.Select(x => x.FlightNumber)
.ToList();
var cancelledFlightsRemoved = ListB
.Where(x => !cancelledFlightNumbers.Contains(x.FlightNumber))
.ToList();
如果物品太多,可以HashSet
用来提高效果
var cancelledFlightNumbers = new HashSet<int>(ListA.Select(x => x.FlightNumber));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句