//先筛选出RMB<500的集合项,再进行字段重复筛选.
SiemensShipmentWips = SiemensShipmentWips.Where(x => x.RMB < 500);
var result = SiemensShipmentWips.Where(x=>
SiemensShipmentWips.Count(c=>c.mawb == x.mawb)>1 ||
SiemensShipmentWips.Count(c=>c.shipC == x.shipC)>1 ||
SiemensShipmentWips.Count(c=>c.consC == x.consC )>1 ||
);
使用此方法可行
@久久婷婷: 用Group By呀,一句搞定
var Result = (from pl in SiemensShipmentWips
group pl by new { pl.mawb,pl.shipC,pl.consC }
into r
select new { mawb = r.Key.mawb,shipC=r.Key.shipC,consC=r.Key.consC,RMB = r.Where(c=>c.RMB<5000)}
).ToList();
ssws.where(a=>(a.mawb==a.shipC||a.mawb==a.consC ||a.shipC==a.consC ||)&&a.rmb<5000)
你好!
是三个字段多条数据同一个字段存在重复的筛选呢~
@久久婷婷:
var 重复的bcc=ssw.groupby(a=>new{mawb,shipC、consC})
.where(a=>a.count()>1)
.select(a=>new{a.key.mawb,shipC,consC});
ssw.where(a=>重复的bcc.包含(b=>a.mawb==b.mawb&&a.shipC==b.shipC&&a.==b.&&a.rmb<5000)
@吴瑞祥: 谢谢大佬~
需要根据字段mawb,shipC、consC 存在重复 -----举个栗子
多条记录里边的数据字段mawb,shipC、consC。。 比如: 第一条数据的mawb,shipC、consC字段和第二条数据的mawb,shipC、consC字段数据内容相同就算存在重复的数据,把他筛选出来。
@久久婷婷: 应该是去除重复 取RMB 小于5000金额的数据是吧?
@BlueWhale`: 筛选出带重复的数据,如果是不重复的就不要。
感觉你这个意思是list去重吧?
筛选匹配条件重复的数据,不重复的去掉~
class Program
{
static void Main(string[] args)
{
List<Student> list = new List<Student>();
list.Add(new Student {
a="1",
b="2",
c="3",
rmb=10000
});
list.Add(new Student
{
a = "1",
b = "2",
c = "3",
rmb = 3000
});
list.Add(new Student
{
a = "1",
b = "2",
c = "3",
rmb = 5000
});
list.Add(new Student
{
a = "1",
b = "3",
c = "3",
rmb = 10000
});
var result = list.Where(t1 => list.Any(t2 => t1.a == t2.a && t1.b == t2.b && t1.c == t2.c && t1.rmb <= 5000)).ToList();
Console.Read();
}
}
public class Student
{
public string a { get; set; }
public string b { get; set; }
public string c { get; set; }
public int rmb { get; set; }
}
试试。。。。。。。。。。
谢谢大佬~试过了此方法,
@久久婷婷: 是你想要的结果吗 如果我没理解错你的需求的话
@去海边生活: 好像不是喔,没有查询出来数据。