C# List排序

版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/leolinsheng/article/details/54090774
/********************************************************************
	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);

猜你喜欢

转载自blog.csdn.net/leolinsheng/article/details/54090774