Чтобы соеденить два массив объектов нужно пользоваться LINQ:

Код:
from название_переменной_1 in объект_1
                      join название_переменной_2  in объект_2 on название_переменной_1.первичный_ключ equals название_переменной_2.внешний_ключ 
                      select new { ... };

Простой пример:

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
     // Класс человек
    class Person
    {
        public Int32 PersonID { get; set; } // ID человека (первичный ключ)
        public String Firstname { get; set; } // Имя 
        public String Lastname { get; set; } // Фамилия
        public char Gender { get; set; } // Пол
        public DateTime Birthday { get; set; } // Дата рождения
    }

    // Класс квартира
    class Room
    {
        public Int32 RoomID { get; set; } // ID комнаты (внешний ключ)
        public Int32 Floor { get; set; } // Этаж
        public Int32 RoomNumber { get; set; } // Номер квартиры 
        public Int32 PersonID { get; set; } // ID человека
    }

    class Program
    {
        static void Main(string[] args)
        {
            List<Person> persons = new List<Person>(); // Список с людьми
            List<Room> house = new List<Room>();; // Список квартир 

            // Добавляем людей 
            persons.Add(new Person() { PersonID = 1, Firstname = "Anton", Lastname = "Maslov", Gender = 'M', Birthday = new DateTime(1980, 1, 1)});
            persons.Add(new Person() { PersonID = 2, Firstname = "Anna", Lastname = "Maslova", Gender = 'F', Birthday = new DateTime(1985, 3, 5) });
            persons.Add(new Person() { PersonID = 3, Firstname = "Olga", Lastname = "Pavlenko", Gender = 'F', Birthday = new DateTime(1964, 4, 2)});

            // Добавляем жильцов
            house.Add(new Room() { RoomID = 1, Floor = 1, RoomNumber = 1, PersonID = 1 });
            house.Add(new Room() { RoomID = 2, Floor = 1, RoomNumber = 1, PersonID = 2 });
            house.Add(new Room() { RoomID = 3, Floor = 1, RoomNumber = 1, PersonID = 3 });

            // Соединяем 
            var arrRes = from h in house
                      join p in persons on h.PersonID equals p.PersonID
                      select new { h.RoomID, h.Floor, h.RoomNumber, p.Firstname, p.Lastname, p.Gender, p.Birthday};

            foreach (var i in arrRes) 
            {
                Console.WriteLine(i.ToString());
            }
        }
    }
}

Результат:

Код:
{ RoomID = 1, Floor = 1, RoomNumber = 1, Firstname = Anton, Lastname = Maslov, Gender = M, Birthday = 01.01.1980 00:00:00 }
{ RoomID = 2, Floor = 1, RoomNumber = 1, Firstname = Anna, Lastname = Maslova, Gender = F, Birthday = 05.03.1985 00:00:00 }
{ RoomID = 3, Floor = 1, RoomNumber = 1, Firstname = Olga, Lastname = Pavlenko, Gender = F, Birthday = 02.04.1964 00:00:00 }