Fusionar listas en una

Vi publicaciones como las siguientes, que son muy difíciles de entender. Así que lo estoy volviendo a publicar. Lo siento si alguien siente que es duplicado. Solo tengo requisitos simples

C # se une / donde con Linq y Lambda

Tengo una clase como esta

public class Person
{
  public int Id{get;set;}
  public string Name{get;set;}
  public string MailingAddress{get;set;}
}

Tengo un método como el siguiente

public IList<Person> GetNames(IList<int> ids)

Esto me dará una lista de personas como a continuación

1 "Sam" ""

2 "Dev" ""

4 "Hummy"

Tengo otro método como el de abajo

 public IList<Person> GetMailingAddress(IList<int> ids)

Esto me dará una lista de personas como a continuación

1 "" "ABC"

6 "" "TTT"

2 "" "XYZ"

Ahora necesito fusionar los resultados de dos métodos para poder tener mi resultado final así

1 "Sam" "ABC"

2 "Dev" "XYZ"

ACTUALIZACIÓN: Lo siento, no di claramente mis datos de prueba. Por favor ver arriba mis datos de prueba

Respuestas a la pregunta(4)

Su respuesta a la pregunta