Junte-se à esquerda em duas listas e mantenha uma propriedade da direita com o Linq

Eu tenho 2 listas demesmo tipo. A lista da esquerda:

var leftList = new List<Person>();
leftList.Add(new Person {Id = 1, Name = "John", Changed = false});
leftList.Add(new Person {Id = 2, Name = "Alice", Changed = false});
leftList.Add(new Person {Id = 3, Name = "Mike", Changed = false});

E a lista certa:

var rightList = new List<Person>();
rightList.Add(new Person {Id = 1, Name = "John", Changed = false});
rightList.Add(new Person {Id = 3, Name = "Mike", Changed = true});
rightList.Add(new Person {Id = 4, Name = "Joshi", Changed = true});

Eu quero fazer umaAssociação à esquerda, mas usando o valor noChanged propriedade dodireito. Como isso:

{Id = 1, Name = "John", Changed = false}
{Id = 2, Name = "Alice", Changed = false}
{Id = 3, Name = "Mike", Changed = true} // <-- true from the rightList

Para isso, não posso usar simplesAssociação à esquerdae não posso usar umConcat com o GroupBy.

Como posso fazer isso com o linq? Obrigado.

questionAnswers(4)

yourAnswerToTheQuestion