Mesclar e atualizar duas listas em c #

Eu tenho doisList<T> objetos:

Por exemplo:

Lista 1:
ID, Valor em que o ID é preenchido e o valor está em branco e contém IDs de 1 a 10.
1, ""
2, ""
...
10, ""

Lista 2:
ID, Value e outros atributos, todos preenchidos com valores, mas essa lista é um subconjunto da Lista 1 em termos de IDs. (por exemplo, apenas 3 itens)
2,67
4,90
5,98

O que eu quero é uma lista mesclada 1, mas com valores atualizados. Alguém tem algum método de extensão bom que faça isso ou qualquer código elegent para executar esta operação. A lista final deve ser:

ID, valor
1, ""
2,67 // valor da lista 2
3, ""
4,90
5,98
6, ""
...
10, ""

questionAnswers(5)

yourAnswerToTheQuestion