上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 52 下一页

2012年6月29日

C#泛型-使用委托的Sort排序方法

摘要: 泛型的排序有3种方法,分别是:1、List<T>.Sort(),只能在集合元素实现了IComparable泛型接口时使用2、List<T>.Sort(Comparison<T>),Comparison<T>是一个方法委托,它带有2个参数T,返回int类型,可以灵活指定如何排序,但是需要编码时手动指定如何排序;3、List<T>.Sort(IComparer<T>),使用实现了IComparer<T>接口的类给集合排序,可以灵活指定如何排序,但是需预先定义好类的排序方法这里介绍第二种方法:首先定义一个类,用作集合 阅读全文

posted @ 2012-06-29 09:59 流星落 阅读(721) 评论(0) 推荐(0) 编辑

C#泛型-无参数的Sort排序方法

摘要: 泛型的排序有3种方法,分别是:1、List<T>.Sort(),只能在集合元素实现了IComparable泛型接口时使用2、List<T>.Sort(Comparison<T>),Comparison<T>是一个方法委托,它带有2个参数T,返回int类型,可以灵活指定如何排序,但是需要编码时手动指定如果排序;3、List<T>.Sort(IComparer<T>),使用实现了IComparer<T>接口的类给集合排序,可以灵活指定如何排序,但是需预先定义好类的排序方法这里介绍第一种方法:首先定义一个类,用作集合 阅读全文

posted @ 2012-06-29 09:58 流星落 阅读(373) 评论(0) 推荐(0) 编辑

C#泛型-泛型接口IComparer<T>——比较器

摘要: IComparer<T>接口定义了为比较两个对象而实现的方法。其定义如下:public interface IComparer<T>{inr Compare(T x,T y);}类型参数“T”是要比较的对象的类型。Compare方法比较两个对象并返回一个值,指示一个对象是小于,等于还是大于另一个对象。参数x是要比较的第一个对象,y是要比较的第二个对象,均属于类型T。如果返回值大于0,则x>y。如果返回值大于0,则x<y。如果返回值大于0,则x=y。IComparer<T>泛型接口主要的作用是,作为参数传入Sort()方法,实现对象比较方式的排序。 阅读全文

posted @ 2012-06-29 09:57 流星落 阅读(2393) 评论(0) 推荐(1) 编辑

C#泛型-泛型接口IComparable<T>

摘要: 系统提供了许多泛型类和泛型接口,List<T>和Dictionary<K,V>是常用的泛型类。IComparable<T>是最常用的泛型接口。泛型接口具有一般接口的共同特点,即在接口中可以包含字段,属性,方法和索引器,但都不能实现。IComparable和IComparer接口区别如下:◆IComparable在要比较的对象的类中实现,可以比较该对象和另一个对象;◆IComparer在一个单独的类中实现,可以比较任意两个对象。IComparable接口规定了一个没有实现的方法CompareTo(Object obj),语法如下:public interfac 阅读全文

posted @ 2012-06-29 09:55 流星落 阅读(692) 评论(0) 推荐(0) 编辑

C#泛型-泛型集合Dictionary入门

摘要: 1、命名空间: System.Collections.Generic(程序集:mscorlib)2、描述: 1)、从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成 2)、任何键都必须是唯一的 3)、键不能为空引用null(VB中的Nothing),若值为引用类型,则可以为空值 4)、Key和Value可以是任何类型(string,int,custom class 等)3、创建及初始化: Dictionary<int, string> myDictionary = newDictionary<int, string>();4、添加 阅读全文

posted @ 2012-06-29 09:53 流星落 阅读(293) 评论(0) 推荐(0) 编辑

C#泛型-泛型集合Dictionary<K,V>

摘要: 在System.Collections.Generic命名空间中,与ArrayList相对应的泛型集合是List<T>,与HashTable相对应的泛型集合是Dictionary<K,V>,其存储数据的方式与哈希表相似,通过键/值来保存元素,并具有泛型的全部特征,编译时检查类型约束,读取时无须类型转换。电话本存储的例子中,使用Dictionary<K,V>来存储电话本信息,代码如下:Dictionary<string,TelNote> ht=new Dictionary<string,TelNote>();在Dictionary< 阅读全文

posted @ 2012-06-29 09:52 流星落 阅读(284) 评论(0) 推荐(0) 编辑

C#泛型-使用泛型List<T>

摘要: 一、泛型的优点性能高。从前面的例子可以看出使用不需进行类型转换,可以避免装箱和拆箱操作,提高性能。类型安全。泛型集合对其存储对象进行了类型约束,不是定义时声明的类型,是无法存储到泛型集合中的,保证了数据类型的安全。代码重用。使用泛型类型可以最大限度地重用代码,保护类型的安全以及提高性能。使用泛型使用泛型可以定义泛型类,泛型接口,泛型方法等。.NET Framework类库在System.Collection.Generic愈命名空间中包含几个新的泛型集合类,List<T>和Dictionary<K,V>是其中非常重要的两种,泛型接口IComparable<T> 阅读全文

posted @ 2012-06-29 09:51 流星落 阅读(2313) 评论(0) 推荐(0) 编辑

C#泛型-什么是泛型

摘要: 泛型:即通过参数化类型来实现在同一份代码上操作多种数据类型。泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用。C#泛型的作用概述:C#泛型赋予了代码更强的类型安全,更好的复用,更高的效率,更清晰的约束。在一个方法中,一个变量的值是可以作为参数,但其实这个变量的类型本身也可以作为参数。泛型允许我们在调用的时候再指定这个类型参数是什么。在.net中,泛型能够给我们带来的两个明显的好处是--类型安全和减少装箱、拆箱。下面我们先看一个例子,说明为什么要使用泛型。using System;using System.Collections;public class Pers 阅读全文

posted @ 2012-06-29 09:50 流星落 阅读(306) 评论(0) 推荐(0) 编辑

C#数组和集合专题5(Hashtable排序和遍历)

摘要: ②.Hashtable排序Hashtable没有提供排序的方法,不能直接实现对象的排序。但ArrayList类有排序的方法,可以把所有的键对象存放到ArrayList中,排序完成后再从中取出每一个键对象并输出对应的员工对象。Hashtable中的Keys属性的作用是获取包含 Hashtable 中的键的 ICollection。ICollection 接口是 System.Collections 命名空间中类的基接口。ICollection 接口扩展 Ienumerable、IDictionary和IList 则是扩展 ICollection 的更为专用的接口。IDictionary 实现是键 阅读全文

posted @ 2012-06-29 09:49 流星落 阅读(343) 评论(0) 推荐(0) 编辑

C#数组和集合专题4(Hashtable类)

摘要: 四、Hashtable类①.Hashtable概述通过Hashtable类将数据作为一组键值对来存储,这些键值对是根据编码来组织的,可以将键作为索引器来获得对应值的对象。Hashtable对象中的键值必须是唯一的,在Hashtable中一个值只允许出现一次,如果企图往Hashtable对象里添加已经存在键值,将会抛出ArgumentException异常。Hashtable类用于处理和表现类似键值对,其中键通常可用来快速查找,同时键是区分大小写;用于存储对应于键的值。Hashtable中键值对均为object类型,所以Hashtable可以支持任何类型的键值对.using System;usi 阅读全文

posted @ 2012-06-29 09:47 流星落 阅读(237) 评论(0) 推荐(0) 编辑

上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 52 下一页

导航