日期:2014-05-20  浏览次数:20736 次

********工作比较轻松,上个实体类排序通用函数(冒泡)
C# code

        /// <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++;
            }
        }



更多排序:http://blog.csdn.net/sq_zhuyi/archive/2010/04/24/5523282.aspx

------解决方案--------------------
sfffffff
------解决方案--------------------
SF 顶 ..
------解决方案--------------------
占个位置先
------解决方案--------------------
学习~~
------解决方案--------------------
工作比较轻松,呵呵。。。。。。
不错,收藏。
------解决方案--------------------
没啥想法,mark+jf
------解决方案--------------------
写个效率高点的多好;
------解决方案--------------------
进来学习一下
------解决方案--------------------
围观两下
------解决方案--------------------
厉害啊,学习先!
------解决方案--------------------

------解决方案--------------------

------解决方案--------------------
路过学习............
------解决方案--------------------
路过,帮顶!
------解决方案--------------------
学习下子
------解决方案--------------------
帮顶吧,哪么轻松呀,也被你感染了,呵呵……
------解决方案--------------------
to learn from you
------解决方案--------------------
NB学习下
------解决方案--------------------