Combinar y actualizar dos listas en C #

tengo dosList<T> objetos:

Por ejemplo:

Lista 1:
ID, valor donde se llena la ID y el valor está en blanco y contiene, por ejemplo, ID de 1 a 10.
1, ""
2, ""
...
10, ""

Lista 2:
ID, valor y otros atributos, todos rellenados con valores, pero esta lista es un subconjunto de la Lista 1 en términos de ID. (por ejemplo, solo 3 elementos)
2,67
4,90
5,98

Lo que quiero es una lista fusionada 1, pero con valores actualizados. ¿Alguien tiene algún buen método de extensión que haga esto o cualquier código elegent para realizar esta operación? La lista final debe ser:

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

Respuestas a la pregunta(6)

Su respuesta a la pregunta