我有两个集合,ObservableCollection<Lap>
和ObservableCollection<Racer>
Lap
,其中Racer
保存赛车的圈数据和racerId
,你猜它是赛车手的数据。两个对象都知道Zip
。
有没有一种方法可以让我使用谓词作为DataGrid
- func将这两个集合压缩在一起?我想要这样做的原因是绑定它们laps.Zip(participants, (lap, racer) => lap.EnrollmentId == racer.EnrollmentId);
。
我见过this,但看不清楚如何将它与谓词一起使用。
我想到了:
{{1}}
但是我如何将其映射到DataGridColumns?
答案 0 :(得分:1)
我认为您正在寻找Join
,因为您确实希望根据匹配的ID合并两者的属性。要使Zip()
起作用,两个集合必须在相同的匹配顺序中具有相同数量的条目。
var results = from racer in participants
join l in laps
on racer.EnrollmentId equals l.EnrollmentId
select new
{
//select the properties you are interested in here
//or just use both:
Racer = racer,
Lap = l
}