开发者

Predicate to zip two collections and use as binding source

I've got two collections, ObservableCollection<Lap> and a ObservableCollection<Racer> where Lap holds lap data of a car race and Racer, you guess it, the Racer's data. Both objects know the racerId.

Is there a way I can come up with a predicate to use that as a Zip-func to zip those two collections together? The reason I want to do that is to bind them DataGrid.

I had seen this, but can't quite see how to use it with a predicate.

I came up with that:

laps.Zip(participants, (lap, racer) => lap.EnrollmentId == racer.EnrollmentId);

But how would I map that to the D开发者_Python百科ataGridColumns?


I think you are looking for a Join instead, since you do want to combine the properties of both based on a matching Id. For Zip() to work both collections must have the same number of entries in the same matching order already.

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
              }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜