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