Таможенное пересечение в лямбде

Я хотел бы знать, если это можно решить с помощью лямбда-выражения:

List<Foo> listOne = service.GetListOne();
List<Foo> listTwo = service.GetListTwo();
List<Foo> result = new List<Foo>();

foreach(var one in listOne)
{
    foreach(var two in listTwo)
    {
        if((one.Id == two.Id) && one.someKey != two.someKey)
           result.Add(one);
    }
}

Ответы на вопрос(4)

Ваш ответ на вопрос