110,534
社区成员
发帖
与我相关
我的任务
分享
var list = orderList.GroupBy(o => o.GoodsList, new OrderEqualityComparer()).Select(o=>o.First()).ToList();
public class OrderEqualityComparer : IEqualityComparer<List<Goods>>
{
public bool Equals(List<Goods> x, List<Goods> y)
{
bool flag = false;
if (x.Count!=y.Count)
{
return false;
}
for (int i = 0; i < x.Count; i++)
{
if (x[i].Name.Equals(y[i].Name) && x[i].Qty.Equals(y[i].Qty))
{
flag = true;
}
else
{
return false;
}
}
return flag;
}
//这方法好像用不到,还不清楚,不过得实现它,嘿嘿
public int GetHashCode(List<Goods> obj)
{
return 0;
}
}
尝试了一下好像可以达到你说的效果,学习中