zoukankan      html  css  js  c++  java
  • 【转】对实体类进行排序

    代码
    /// <summary>
            
    /// 对实体类进行排序
            
    /// </summary>
            
    /// <typeparam name="T">实体类型,如:User</typeparam>
            
    /// <param name="list">实体类的数组</param>
            
    /// <param name="order">排序字段(必须为属性)</param>
            
    /// <param name="asc">是否按正序排序</param>
            public static void Sort<T>(object[] list, string order, bool asc)
            {
                Type type 
    = typeof(T);
                PropertyInfo[] pros 
    = type.GetProperties();
                PropertyInfo pro 
    = pros[0];
                order 
    = order.ToLower();
                
    for (int i = 0; i < pros.Length; i++)
                {
                    
    if (pros[i].Name.ToLower().Equals(order))
                    {
                        pro 
    = pros[i];
                        
    break;
                    }
                }
                
    object obj;
                
    int j, k = 1;
                
    bool done = false;
                
    int len = list.Length;
                
    while (k < len && !done)
                {
                    done 
    = true;
                    
    for (j = 0; j < len - k; j++)
                    {
                        
    int b = pro.GetValue(list[j], null).ToString().CompareTo(pro.GetValue(list[j + 1], null).ToString());
                        
    if ((asc && b > 0|| (!asc && b < 0))
                        {
                            done 
    = false;
                            obj 
    = list[j];
                            list[j] 
    = list[j + 1];
                            list[j 
    + 1= obj;
                        }
                    }
                    k
    ++;
                }
            }
  • 相关阅读:
    Hibernate4学习day0--hibernate封装--注解--单元测试
    Hibernate4学习day01--简介--基本配置
    java基础day13---引用数据类型
    java基础day14---static关键字-----继承
    java基础day12---this 关键字-----参数传递
    day05 Struts2文件上传和下载---防重复提交
    java基础day11---空指针异常----引用类型--自定义类型赋值--封装
    java基础的第二轮快速学习!day10
    Struts2,大爷你好!第四天
    java基础的第二轮快速学习!day09
  • 原文地址:https://www.cnblogs.com/gebenhagen/p/1735451.html
Copyright © 2011-2022 走看看