Я пытаюсь отфильтровать список на основе предиката Func. Я использую Func, чтобы отфильтровать полный список и вернуть результат операции. Затем мне нужно определить, какие MachineActions появляются в полном списке, но не в отфильтрованном.
static void Main(string[] args)
{
var allActions = new List<MachineAction>
{
new MachineAction
{ Name = "A", Status = MachineActionStatus.Cancelled },
new MachineAction
{ Name = "B", Status = MachineActionStatus.Error },
new MachineAction
{ Name = "C", Status = MachineActionStatus.Waiting }
};
var filteredActions = allActions.Where(FilterNotCompleted);
}
private readonly static Func<MachineAction, bool> FilterNotCompleted = action =>
(action.Status == MachineActionStatus.Waiting ||
action.Status == MachineActionStatus.Started);
public class MachineAction
{
public MachineActionStatus Status { get; internal set; }
public string Name { get; internal set; }
}
internal enum MachineActionStatus
{
Waiting,
Started,
Success,
Error,
Cancelled
} ;
Существует ли метод расширения, который сравнивает полный список с отфильтрованным списком и возвращает те, которые не в обоих?
Спасибо