【C#】针对list处理

声明ObservableCollection类型,方便记录集合变更

private ObservableCollection<TManufOrdEx> _ManufOrdExList;
/// <summary>生产订单列表</summary>
public ObservableCollection<TManufOrdEx> ManufOrdExList { get { return _ManufOrdExList; } set { _ManufOrdExList = value; RaisePropertyChanged(); } }

根据某个字段分组、求和

 List<TManufOrdEx> manufDisLineNos = manufOrdList.Where((x, i) => manufOrdList.FindIndex(z => z.sellConLineNo == x.sellConLineNo) == i).ToList();
 sumKgs = manufDisLineNos.Sum(t => t.kgs);

往新的集合中添加数据,已经加过的不加(去重)

 List<TManufOrdEx> copyList = new List<TManufOrdEx>();
     foreach (TManufOrdEx str in ManufOrdList)//源LIST去重
     {
         if (copyList.Count > 0)
         {

             bool IsRepeat = copyList.Any<TManufOrdEx>(p => p.id == str.id);
             if (IsRepeat)
             {
                 continue;
             }
             else
             {
                 copyList.Add(str);
             }
         }
         else
         {
             copyList.Add(str);
         }

     }
     ManufOrdList = new List<TManufOrdEx>();
     ManufOrdList = copyList;

List合并

List<int> listA = new List<int> {1,2,3,5,7,9};

List<int> listB = new List<int> {13,4,17,29,2};

List<int> Result = listA.Union(listB).ToList<int>(); //剔除重复项

List<int> Result = listA.Concat(listB).ToList<int>();//保留重复项

int count=listA.BinarySearch("1"); //判断集合中是否包含某个值.如果包含则返回0

排序

 lisrt.Sort((l, r) => l.TransPlanType.CompareTo(r.TransPlanType));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值