Linq自定义排序的写法(方法一)


第一步:

需要编写一个obiect方法用于转换:

        #region linq自定义排序方法
        public static object GetPropertyValue(object obj, string property)
        {
            System.Reflection.PropertyInfo propertyInfo = obj.GetType().GetProperty(property);
            return propertyInfo.GetValue(obj, null);
        }
        #endregion

第二步运用:

var sortField1s="CompanyName";
if (SortField == "desc")
{
    list_Subject = list_Subject.OrderByDescending(r => GetPropertyValue(r, "CompanyName")).Skip(PageSize * PageIndex).Take(PageSize).ToList();
   //优化:list_Subject = list_Subject.OrderByDescending(r => GetPropertyValue(sortField1s)).Skip(PageSize * PageIndex).Take(PageSize).ToList();
} 
else
{
list_Subject = list_Subject.OrderBy(r => GetPropertyValue(r,"CompanyName")).Skip(PageSize * PageIndex).Take(PageSize).ToList(); }

 

list_Subject:是你要进行排序的集合;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM