关闭

深入理解C#:排序

99人阅读 评论(0) 收藏 举报
分类:

这一小节的任务就是把产品的名称ASC排序并且输出



C#1:使用IComparer对ArrayList进行排序

ArrayList p1 = Product1.GetSampleProducts ();
			p1.Sort (new Product1Comparer());
			foreach (Product1 item in p1) {
				Console.WriteLine ("Product1.Name={0}",item.Name);
			}

class Product1Comparer:IComparer
{
	public int Compare(object p1,object p2){
		return ((Product1)p1).Name.CompareTo (((Product1)p2).Name);
	}
}


C#2:使用IComparer<Product>对List<Product>进行排序

List<Product2> p2 = Product2.GetSampleProducts ();
			p2.Sort (new Product2Comparer());
			foreach (Product2 item in p2) {
				Console.WriteLine ("Product2.Name={0}",item.Name);
			}

class Product2Comparer:IComparer<Product2>
{
	public int Compare(Product2 p1,Product2 p2){
		return ((Product2)p1).Name.CompareTo (((Product2)p2).Name);
	}
}

C#2:使用Comparison<Product>对List<Product>进行排序(匿名方法)

List<Product2> p2 = Product2.GetSampleProducts ();
			p2.Sort (delegate(Product2 x, Product2 y) {
				return x.Name.CompareTo (y.Name);
			});
			foreach (Product2 item in p2) {
				Console.WriteLine ("Product2.Name={0}",item.Name);
			}

C#3:在Lambda表达式中使用Comparison<Product>进行排序(Lambda)

List<Product2> p2 = Product2.GetSampleProducts ();
			p2.Sort ((x,y)=>x.Name.CompareTo(y.Name));
		    foreach (Product2 item in p2) {
			   Console.WriteLine ("Product2.Name={0}",item.Name);
		    }


C#3:使用一个扩展方法对List<Product>进行排序

List<Product3> p3 = Product3.GetSampleProducts ();
			foreach (Product3 item in p3.OrderBy(p=>p.Name)) {
				Console.WriteLine ("Product3.Name={0}",item.Name);
			}




0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

“深入理解”—归并排序算法

关于归并排序的一个初步学习总结
  • qq_25827845
  • qq_25827845
  • 2017-04-30 10:50
  • 1626

C++ 内存布局:深入理解C++内存布局

1、虚函数简介       虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为vptr(virtual table point...
  • QQrenzai
  • QQrenzai
  • 2016-06-24 10:36
  • 1652

“深入理解”—插入排序算法

总结下自己对插入排序的理解。 插入排序算法思想:每趟将一个元素,按照其关键字的大小插入到它前面已经排序的子序列中,依此重复,直到插入全部元素。 插入排序包括:直接插入排序、二分插入排序以及希尔排序...
  • qq_25827845
  • qq_25827845
  • 2016-06-21 17:57
  • 2603

C#中List或其它集合对象排序方法的一点理解

因为这个是老生常谈的话题了吧,所以过多的其它代码粘贴或拷贝就不做太多,只谈谈这段时间为了解决项目特别功能而用到的基础排序知识!          在项目中进行数据排序是非常常见的,所以今天做个备注,...
  • jetsu
  • jetsu
  • 2017-03-10 11:29
  • 563

对冒泡排序的深入理解

  • 2014-08-18 18:17
  • 49KB
  • 下载

C#快速排序练习

  • 2017-06-20 11:40
  • 30KB
  • 下载

C#异常抛出和排序功能

  • 2013-01-28 08:55
  • 2KB
  • 下载

用C#冒泡排序

  • 2013-12-06 12:59
  • 947B
  • 下载

c# 定义方法实现元素交换的排序

  • 2013-10-06 10:16
  • 902B
  • 下载

C#快速排序算法

  • 2014-02-22 14:14
  • 21KB
  • 下载
    个人资料
    • 访问:446次
    • 积分:35
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档