随笔分类 -  C#

深入解析Hashtable、Dictionary、SortedDictionary、SortedList
摘要:我们先看Hashtable。MSDN的解释:表示键/值对的集合,这些键/值对根据键的哈希代码进行组织。Hash算法是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不 同的... 阅读全文

posted @ 2014-07-15 14:32 Super Cow 阅读(324) 评论(0) 推荐(0)

Hashtable
摘要:首先看看散列算法是什么。 散列函数或散列算法,又称哈希函数,英语:Hash Function,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值的指纹。散列值通常用来代表一个短的随... 阅读全文

posted @ 2014-06-24 15:46 Super Cow 阅读(295) 评论(0) 推荐(0)

Why we don’t recommend using List<T> in public APIs
摘要:不推荐List做API原因有如下两点:1.首先List 设计之初就没有设计成可扩展的,我们不能重新其任何方法。这就意味着,我们操作List的时候却不能有任何的通知机制,而Collection却提供了SetItem虚方法以供重写,以便于我们在修改成员信息或者添加成员的时候可以自定义实现通知机制。2.其... 阅读全文

posted @ 2014-06-24 09:27 Super Cow 阅读(244) 评论(0) 推荐(0)

Aggregate累加器
摘要:今天看东西的时候看见这么个扩展方法Aggregate(累加器)很是陌生,于是乎查了查,随手记录一下。直接看一个最简答的版本,其他版本基本没什么区别,需要的时候可看一下public static TSource Aggregate( this IEnumerable source, Func func... 阅读全文

posted @ 2014-06-23 15:41 Super Cow 阅读(320) 评论(0) 推荐(0)

(转)使用string.Format需要注意的一个性能问题
摘要:今天,我在写C#代码时,突然发现一个最熟悉的陌生人 —— string.Format。在写C#代码的日子里,与它朝夕相伴,却没有真正去了解它。只知道在字符串比较多时,用它比用加号进行字符串连接效率更高(当然也更方便)。可是却从来没有问过为什么?在生活中也有类似的现象,与你朝夕相处、你最熟悉的人,你往... 阅读全文

posted @ 2014-06-12 18:45 Super Cow 阅读(353) 评论(0) 推荐(0)

StringBuilder的实现
摘要:先看看MS给出的官方解释吧(http://msdn.microsoft.com/zh-cn/library/system.text.stringbuilder(VS.80).aspx)String对象串联操作总是用现有字符串和新数据创建新的对象。StringBuilder对象维护一个缓冲区,以便容纳... 阅读全文

posted @ 2014-06-12 18:19 Super Cow 阅读(848) 评论(0) 推荐(0)

IEnumerable<T>和IQueryable<T>
摘要:建议29、区别LINQ查询中的IEnumerable和IQueryableLINQ查询方法一共提供了两类扩展方法,在System.Linq命名空间下,有两个静态类: Enumerable类,它针对继承了IEnumerable接口的集合类进行扩展。 Queryable类,它针对继承了IQu... 阅读全文

posted @ 2014-06-12 10:15 Super Cow 阅读(558) 评论(0) 推荐(0)

导航