合并LINQ中的记录

时间:2011-12-15 06:22:59

标签: c# .net linq

我是LINQ的新手

我有以下2个问题:

var ticketStatus = from lookup in lookupDetails.AsEnumerable()
                   join ticket in ticketDetails
                       on lookup.LookupDetailID equals ticket.Status
                   select ticket;

var ticketSev = from lookupSev in lookupDetails.AsEnumerable()
                join ticket in ticketDetails
                    on lookupSev.LookupDetailID equals ticket.Status
                select ticket;

var finalTicket = ...

现在我想将ticketStatusticketSev合并到finalTicket。我怎样才能完成这项任务?我不想使用Join。

3 个答案:

答案 0 :(得分:3)

简单地使用它来连接并删除重复的

var finalTicket = ticketStatus.Union(ticketSev);   

简单连接和排序。重复保留。在 .Union()

的地方使用 .Concat()

要以最佳方式实现此目的,请遵循以下链接:
How to: Combine and Compare String Collections (LINQ)
Merging two Collection<T>
Create a list from two object lists with linq

答案 1 :(得分:2)

var finalTicket = ticketStatus.Union(ticketSev);   // remove duplicates
var finalTicket = ticketStatus.Concat(ticketSev);  // keep duplicates

答案 2 :(得分:1)

你没有说如何你想要合并它们,所以我假设你想要两个集合的联合(即组合它们并消除重复):

var finalTicket = ticketStatus.Union(ticketSev);

如果你想保留重复项或知道没有重复项,你可以改为连接序列:

var finalTicket = ticketStatus.Concat(ticketSev);