У меня есть два типа данных, Foo
и Bar
, у которых есть свойство определять порядок:
class Foo
{
public int Order { get; set; }
public string FooValue { get; set; }
}
class Bar
{
public int Order { get; set; }
public string BarValue { get; set; }
}
Затем у меня есть две коллекции этих типов.Я хотел бы присоединиться к коллекциям, чтобы результат содержал пары Foo
и Bar
.Количество пар должно быть числом Bar
элементов.
Каждая пара должна состоять из элемента Bar
и самого «последнего» элемента Foo
(с наибольшим значением Foo Order
, ограниченным текущим значением Bar Order
).
Например, для следующих коллекций (некоторые операторы опущены):
var foos = new [] { (1, "Foo1"), (2, "Foo2"), (5, "Foo5"), (7, "Foo7") };
var bars = new [] { (1, "Bar1"), (6, "Bar6") };
Результат будет:
result = {
((1, "Bar1"), (1, "Foo1")),
((6, "Bar6"), (5, "Foo5"))
};
Как мне этого добиться с помощью LINQ и C # 4.0?