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

路人乙e 2010-05-14 11:39:44
加精

/// <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
...全文
4038 344 打赏 收藏 转发到动态 举报
写回复
用AI写文章
344 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjh200102 2010-08-05
  • 打赏
  • 举报
回复
很好,学习了。
loveruler 2010-06-21
  • 打赏
  • 举报
回复
路过了
伤却执着 2010-06-18
  • 打赏
  • 举报
回复
路过 学习
lihua2005ok 2010-06-16
  • 打赏
  • 举报
回复
好收藏了
宇峰科技 2010-06-13
  • 打赏
  • 举报
回复
学习。。。
bugfoxlmc 2010-06-13
  • 打赏
  • 举报
回复
谢谢楼主分享~!
kkkkkkmn 2010-05-27
  • 打赏
  • 举报
回复
。。。。。。。。。。。。。。。。。。。。
shaluo520 2010-05-27
  • 打赏
  • 举报
回复
有空看看~~
netlover2008 2010-05-21
  • 打赏
  • 举报
回复
学习中。。。
jdkbean 2010-05-21
  • 打赏
  • 举报
回复
路过 踩
churphone 2010-05-20
  • 打赏
  • 举报
回复
简洁!!!
janesin 2010-05-20
  • 打赏
  • 举报
回复
工作比较沉重,看下个实体类排序通用函数
  • 打赏
  • 举报
回复
围观~~~~~~~~
bubiandefeng 2010-05-20
  • 打赏
  • 举报
回复
ddddd
烈火晴天 2010-05-20
  • 打赏
  • 举报
回复
very,very ..
wabcajs 2010-05-20
  • 打赏
  • 举报
回复
学过 不深入 围观之
XBodhi. 2010-05-20
  • 打赏
  • 举报
回复
J F
jmjwin 2010-05-20
  • 打赏
  • 举报
回复
我顶!!!
大连昊玥软件 2010-05-20
  • 打赏
  • 举报
回复
顶一下
罗曼松松 2010-05-20
  • 打赏
  • 举报
回复
好,好好啊,顶起
加载更多回复(317)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧