C# List排

来源:互联网 发布:java项目源码 编辑:程序博客网 时间:2024/05/16 09:51
/********************************************************************created:2016/08/12   author:purpose:编写排序比较器*********************************************************************/using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace HVIC.VideoMonitorPlugin{    public class ComparisonFunc    {        #region        public static int CmpVideoGroup(ViSmartDBManage.Model.ModelVideoGroup lhs, ViSmartDBManage.Model.ModelVideoGroup rhs)        {            try            {                return lhs.GroupName.CompareTo(rhs.GroupName);            }            catch (System.Exception ex)            {                return 0;            }        }        #endregion        #region        private static string GetID(VideoModel info)        {            try            {                return info.VideoName.Substring(0, info.VideoName.IndexOf('_'));            }            catch (System.Exception ex)            {                return string.Empty;            }        }        public static int CmpVideoModel(VideoModel lhs, VideoModel rhs)        {            try            {                string left = GetID(lhs);                string right = GetID(rhs);                char lchar = left.FirstOrDefault();                char rchar = right.FirstOrDefault();                if (lchar != rchar)                    return lchar.CompareTo(rchar);                return int.Parse(left).CompareTo(int.Parse(right)); //有可能会catch            }            catch (System.Exception ex)            {                return 0;            }        }        #endregion    }}
ViSmartDBManage.QueryObject.Query query = new ViSmartDBManage.QueryObject.Query();            List<ModelVideoGroup> lstVideoGroup = m_app.DataService.DatabaseManager.BalVideoGroup.GetModelList(query);            lstVideoGroup.Sort(ComparisonFunc.CmpVideoGroup);


0 0
原创粉丝点击