public static void Main()
    {
        var a = new Sent {
            Address = "04004C", Data = "55AA55"
        };
        var b = new Sent {
            Address = "04004C", Data = "55AA55"
        };

        Console.WriteLine(a.Equals(b));     // True with use of an AOP, False with no AOP

        var sent = new List <Sent>()
        {
            new Sent {
                Address = "04004C", Data = "55AA55"
            },
            new Sent {
                Address = "040004", Data = "0720"
            },
            new Sent {
                Address = "040037", Data = "31"
            },
            new Sent {
                Address = "04004A", Data = "FFFF"
            }
        };

        var res = new List <Result>()
        {
            new Result {
                AddressOK = "04004C", DataOK = "55AA55"
            },
            new Result {
                AddressOK = "040004", DataOK = "0721"
            },
            new Result {
                AddressOK = "040038 ", DataOK = "31"
            },
            new Result {
                AddressOK = "04004A", DataOK = "FFFF"
            }
        };


        var diff =
            sent.Except(
                res.Select(r => new Sent {
            Address = r.AddressOK, Data = r.DataOK
        })
                );

        foreach (var item in diff)
        {
            Console.WriteLine("{0} {1}", item.Address, item.Data);
        }
    }