List<T>的排序和筛选

http://www.cnblogs.com/supperwu/archive/2012/06/13/2548122.html

                       #region 筛选方法
(目前方法3最实用,其他方法待调查)
 List<m_Cutlerys_deatail> result = new List<m_Cutlerys_deatail>();

//方法 1 result = cut_list.FindAll( delegate(m_Cutlerys_deatail p) { return (p.dev_no == item_device.dev_no.ToString()); }); //方法 2 result = cut_list.FindAll(t => t.dev_no == item_device.dev_no.ToString()); //方法 3 //此方法可以多重筛选,排序(OrderBy 或者 OrderByDescending),以及limit //正序排序 List<m_Cutlerys_deatail> result_2 = cut_list.Where(t => t.dev_no == item_device.dev_no.ToString()).Where(t => t.line_no == "L09").OrderBy(t => t.sort).Take(2).ToList(); //逆序排序 List<m_Cutlerys_deatail> result_3 = cut_list.Where(t => t.dev_no == item_device.dev_no.ToString()).Where(t => t.line_no == "L09").OrderByDescending(t => t.sort).ThenBy(t => t.line_no).Take(2).ToList(); //方法 4 result = (from p in cut_list where p.dev_no == item_device.dev_no.ToString() orderby p.sort ascending select p).Take(4).ToList(); #endregion

  

原文地址:https://www.cnblogs.com/lhlong/p/5157307.html