随笔分类 - 我的泛型
摘要:.NET中的List<T>非常方便,但是很遗憾得是没有自带更方便的一些排序、查找函数。比如说,Sort()和Find()方法都包含在List<T>里,但果你想使用,你得自己写函数。这往往会让我们感到不爽。本文告诉你,其实这些Sort() Find()方法想要的都只是一个一句话delegate而已。 声明:本文讨论非LINQ的方法,适用于.NET2.0以上平台 主要讨论以下三个方法:List<T>.Sort()List<T>.Find()List<T>.Exist() 我们先看List<T>.Sort()。其定义是:publ
阅读全文
摘要:摘要:在面向对象开发过程中我们经常将一组对象放到一个特定集合中,此时我们通常使用泛型集合来存放,常见的如:List 、Dictionary等。在使用这些泛型集合时我们有时需要对其进行排序,下面我们就一块看一下List如何进行排序(像Dictionary也有其相应的排序方式,例如说使用Linq语法方式,今天暂且不说)。 主要内容: 初始工作默认排序方式通过自定义比较器进行排序设定排序范围总结 一、初始工作 假设我们有一个Student对象,简单起见这个对象只有三个属性,分别是学好、姓名、年龄。 代码 Code highlighting produced by Actipro CodeHighli
阅读全文
摘要:实现IComparable接口像所有集合类一样,List实现了Sort()方法,它允许您对所有实现了IComparable接口的对象进行排序。在下一个例子中,您将修改Employee类以实现IComparable:public class Employee : IComparable实现IComparable接口,Employee对象必须提供CompareTo()方法:public int CompareTo(Employee rhs){ return this.empID.CompareTo(rhs.empID);}CompareTo()方法把Employee做为参数。我们知道使用Emplo
阅读全文
摘要:注:在.Net framework3.5中已经取消来IComparer接口,原因是该接口比较低效。原因请看下文。1. IComparable<T>, IComparable接口IComparable<T>是IComparable的泛型版本。这两个接口都需要实现方法CompareTo。IComparable是实现一般对象的比较接口,int CompareTo(object obj),它提供来对单个对象进行比较的接口,继承IComparable的类需要自己提供排序比较函数以便对集合对象进行正确序列比较。在使用IComparable接口时需要对非object对象进行装箱和拆箱
阅读全文
浙公网安备 33010602011771号