惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threat Research - Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
V
Vulnerabilities – Threatpost
GbyAI
GbyAI
P
Proofpoint News Feed
L
LINUX DO - 热门话题
P
Palo Alto Networks Blog
A
About on SuperTechFans
T
Tenable Blog
M
MIT News - Artificial intelligence
IT之家
IT之家
I
Intezer
D
DataBreaches.Net
爱范儿
爱范儿
T
Threatpost
C
CERT Recently Published Vulnerability Notes
云风的 BLOG
云风的 BLOG
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
K
Kaspersky official blog
大猫的无限游戏
大猫的无限游戏
A
Arctic Wolf
Y
Y Combinator Blog
Cyberwarzone
Cyberwarzone
酷 壳 – CoolShell
酷 壳 – CoolShell
D
Darknet – Hacking Tools, Hacker News & Cyber Security
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
Spread Privacy
Spread Privacy
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
AWS News Blog
AWS News Blog
博客园 - 聂微东
C
Check Point Blog
S
Securelist
有赞技术团队
有赞技术团队
雷峰网
雷峰网
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
Stack Overflow Blog
Stack Overflow Blog
MongoDB | Blog
MongoDB | Blog
D
Docker
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tailwind CSS Blog
L
Lohrmann on Cybersecurity
G
Google Developers Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LangChain Blog

博客园 - 追风逐云.NET

一种新的穿透防火墙的数据传输技术 - 追风逐云.NET - 博客园 [VC++]点对点(P2P)多线程断点续传的实现 Flash MX2004中的XML应用 Microsoft .Net Remoting系列专题之一:.Net Remoting基础篇 Microsoft .Net Remoting系列专题之二:Marshal、Disconnect与生命周期以及跟踪服务 通过Web Services显示和下载文件 用 WebClient.UploadData 方法 上载文件数据 - 追风逐云.NET 创建以Microsoft .NET Remoting为基础的分布式应用架构 最近一直在做C#操作office方面的工作!总结一下!Word(二) 最近一直在做C#操作office方面的工作!总结一下!(一)Excel 读书笔记c#高级编程 委托和事件 设计了一个用户权限管理模型 C# 逐行驱动打印 C# winform中不规则窗体制作的解决方案(已经解决24位色以上不能正常显示问题) .NET 2.0泛型集合类与.NET 1.1集合类的区别(一) .NET(C#)连接各类数据库-集锦 SQL Server .NET Framework 数据提供程序连接池 防止可淹没应用程序的池溢出 提高ASP.Net应用程序性能的十大方法
.NET 2.0泛型集合类与.NET 1.1集合类的区别(二)
追风逐云.NET · 2005-08-28 · via 博客园 - 追风逐云.NET

Posted on 2005-08-28 23:11  追风逐云.NET  阅读(569)  评论()    收藏  举报

3、接口
在接口方面改动最大的ICollection<T>,在1.1中,ICollection是一个只读的版本,并没有任何方法可以让你修改集合中的数据,但在泛型的ICollection<T>中增加了修改数据的方法和IsReadOnly属性,我很遗憾没有找到泛型化的只读版本的ICollection。

ICollection<T>虽然可以修改数据,但他缺乏索引功能的支持,所以又定义了IList<T>接口,他继承自ICollection<T>并提供用数字检索的功能。

在与老版本的集合接口兼容性方面,IEnumerable<T>支持IEnumerable,ICollection<T>不支持ICollection,IList<T>也不支持IList。

System.Collections.Generic.IDictionary<TKey, TValue>与旧版本的字典并没有太大的区别,在接口的继承层次上,原先的IDictionary继承自ICollection,现在仍然是对应的泛型版本ICollection<T>,但因为ICollection<T>增加了修改数据的功能,这就带来了一定的麻烦,因为字典要求Add方法传入Key和Value俩个参数,而ICollection的Add只能有一个参数,所以在ICollection<T>中限制为:ICollection<KeyValuePair<TKey,TValue>>,以提供俩个参数。

字典接口还新增加了TryGetValue(TKey, TValue),这个方法主要是为提高性能而设立,原先如果你想安全的获取某个键位时,必须使用ContainsKey(TKey)先检索是否存在,然后用This检索,这样就有俩次检索的过程,现在的TryGetValue将只用检索一次。