注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

信息 灵感 创新

I? =Information,Inspiration,Innovation

 
 
 

日志

 
 
关于我

we are 5. Mathematics, Computation, Programming, Engineering, and Making fun of life.

网易考拉推荐

数组、索引器和集合(五)  

2010-12-24 14:56:52|  分类: C# & .NET |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

一、集合

如果元素个数是动态的就应该使用集合类。List<T>ArrayList是与数组相当的集合类,还有其他的集合如队列、栈、链表和字典等。

1.集合的接口和类型

对象类型的集合位于System.Collections 命名空间;泛型集合类位于System.Collections. Generic 命名空间(泛型类似于C++中的模板);专用于特定类型的集合类位于System.Collections.Specialized 命名空间。。.NET 2.0 为集合类添加了新的泛型接口,例如IEnumerable<T>IList<T>。这些接口的非泛型版本将一个对象定义为方法的参数,而其泛型版本使用泛型类型T。提供非泛型的原因是为了向前兼容,但是它们注定是要过时的。

对集合非常重要的接口如下表:

接口

方法和属性

说明

IEnumerable

IEnumerable<T>

GetEnumerator()

如果将foreach 语句用于集合,就需要接口IEnumerable。这个接口定义了方法GetEnumerator(),它返回一个实现了IEnumerator 的枚举

ICollection

Count

IsSynchronized

SyncRoot

CopyTo()

接口ICollection 由集合类实现。使用这个接口的方法可以在集合中添加和删除元素

ICollection<T>

Count

IsReadOnly

Add()

Clear()

Contains()

CopyTo()

Remove()

接口ICollection<T>扩展了接口IEnumerable 的功能

IList

IsFixedSize

IsReadOnly

Item

Add

Clear

Contains

IndexOf

Insert

Remove

RemoveAt

接口IList 派生于接口ICollectionIList 允许使用索引器访问集合,还可以在集合的任意位置插入或删除元素

IList<T>

Item

IndexOf

Insert

Remove

与接口ICollection<T>类似,接口IList<T>也继承了接口ICollection

IDictionary

IsFixedSize

IsReadOnly

Item

Keys

Values

Add()

Clear()

Contains()

GetEnumerator()

Remove()

接口IDictionary IDictionary<TKey,TValue>由其元素包含键和值的集合实现

IDictionary<TKeyTValue>

Item

Keys

Values

Add()

ContainsKey ()

Remove()

TyrGetValue()

用于基于键值对的集合,如Dictionary

IComparer<T>

Compare()

接口IComparer<T>由比较器实现,通过Compare()方法给集合中的元素排序

IEqualityComparer<T>

Equals()

GetHashCode()

接口IEqualityComparer<T>由一个比较器实现,该比较器可用于字典中的键。使用这个接口,可以对对象进行相等比较。方法GetHashCode()应为每个对象返回一个唯一值。如果对象相等,Equals()方法就返回true,否则返回false

 

  评论这张
 
阅读(476)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016