return new List<Ticket>()
{
new Ticket(){ TcpId=1, TicketNo="999-12311",OrderID=79121281,Description="改签",CenterNo=2},
new Ticket(){ TcpId=2,TicketNo="999-24572",OrderID=29321289,Description="退票",CenterNo=1},
new Ticket(){ TcpId=3,TicketNo="999-68904",OrderID=19321289,Description="成交",CenterNo=1},
new Ticket(){ TcpId=4,TicketNo="999-24172",OrderID=64321212,Description="未使用",CenterNo=1},
new Ticket(){ TcpId=5,TicketNo="999-24579",OrderID=19321289,Description="退票",CenterNo=1},
new Ticket(){ TcpId=6, TicketNo="999-21522",OrderID=79121281,Description="未使用",CenterNo=1},
new Ticket(){ TcpId=7,TicketNo="999-12311",OrderID=79121281,Description="",CenterNo=2},
new Ticket(){ TcpId=8,TicketNo="999-24902",OrderID=79121281,Description="退票",CenterNo=1},
new Ticket(){ TcpId=9,TicketNo="999-04571",OrderID=29321289,Description="改签",CenterNo=1},
new Ticket(){ TcpId=10,TicketNo="999-23572",OrderID=96576289,Description="改签",CenterNo=1},
new Ticket(){ TcpId=11,TicketNo="999-24971",OrderID=99321289,Description="成交",CenterNo=1}
};
我要找出TicketNo="999-12311",OrderID=79121281,CenterNo=2为此条件的两条数据如何找出这两个重复的数据,CenterNo=2可以做为条件,别的不能为条件!
如果你有使用LINQ的话,并且知道数据库里面可以使用GROUP BY找相同项的原理的话,这就不是难题。
如果不知道的话,按照我说的学一下这两个知识就行了。
TicketNo="999-12311",OrderID=79121281,这个不能做为条件的,就是筛选出new Ticket(){ TcpId=1, TicketNo="999-12311",OrderID=79121281,Description="改签",CenterNo=2}, new Ticket(){ TcpId=7,TicketNo="999-12311",OrderID=79121281,Description="",CenterNo=2},这两个!CenterNo=2可以做为条件,现在是模拟的这种情况
@renshen4322:
好吧,你要模拟的话,where+ group by+count 找出条数大于1的
LINQ写法是
var q= from c in list where c.CenterNo=2 Group c by new { c.TicketNo, c.OrderID } into g where g.Count() >= 2 select new { g.Key, g };
这是LINQ,比较绕口一些。