using System.Collections.Generic;
public static void Main()
var listA = new List<MyObject>{new()
{OperationId = 123, Mode = "In-Transit", Location = "ATL", }, new()
{OperationId = 234, Mode = "Delivered", Location = "PHX", }, new()
{OperationId = 345, Mode = "Delivered", Location = "COL", }};
var listB = new List<MyObject>{new()
{OperationId = 123, Mode = "In-Transit", Location = "ATL", }};
var usingExcept = listA.Except(listB);
Console.WriteLine(usingExcept.Count());
listA.RemoveAll(x => listB.Exists(y => y.OperationId == x.OperationId));
Console.WriteLine(usingExcept.Count());
public int OperationId { get; set; }
public string Mode { get; set; }
public string Location { get; set; }