• 【转】对实体类进行排序


    代码
    /// <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
    ++;
                }
            }
  • 相关阅读:
    JS eval()小结
    纯JS的ajax实例
    js特效代码-鼠标样式
    JS typeof与instanceof的区别
    linux下网卡绑定
    KVM+VNC 虚拟机远程管理
    smokeping安装
    Python:字符串中引用外部变量的3种方法
    Python:模块学习——os模块
    Python:模块学习——sys模块
  • 原文地址:https://www.cnblogs.com/gebenhagen/p/1735451.html
Copyright © 2020-2023  润新知