Чтобы соеденить два массив объектов нужно пользоваться 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 }