随笔分类 - C#
摘要:目录 一、前言 二、理论知识 1、Hash算法 2、Hash桶算法 3、解决冲突算法 三、Dictionary实现 1. Entry结构体 2. 其它关键私有变量 3. Dictionary - Add操作 4. Dictionary - Find操作 5. Dictionary - Remove操
阅读全文
摘要:
阅读全文
摘要:1、 闭包的含义# 首先闭包并不是针对某一特定语言的概念,而是一个通用的概念。除了在各个支持函数式编程的语言中,我们会接触到它。一些不支持函数式编程的语言中也能支持闭包(如java8之前的匿名内部类)。 在看过的对于闭包的定义中,个人觉得比较清晰的是在《JavaScript高级程序设计》这本书中看到
阅读全文
摘要:在.net中,事件是一种特殊的委托,那他到底特殊在哪,换句话说,加上event关键字到底有什么用,我理解主要有两方面,下面用实例说明: 一 、事件只能在本类型内部“触发”,委托不管在本类型内部还是外部都可以“调用”。 举个例子,按钮的Click事件只有在鼠标点击按钮才能触发,没有例外;但如果Clic
阅读全文
摘要:1.强引用 我们实例化一个对象,直接引用了这个对象就是强引用。在这个对象被强引用的时,GC无法回收这个对象。只有当该对象所有的强引用都失去的时候,GC才会回收该对象。 2.弱引用 弱引用可以让您保持对对象的引用,同时允许GC在必要时释放对象,回收内存。一般使用场景:对象过大,并且不经常访问。这样我们
阅读全文
摘要:List和Dictionary想必是我们平常用到最多的C#容器了,他们使用起来都很简单,所以很多人就可能就没去深究,其实在使用过程中有很多的小技巧能让我们写的代码变得更高效也更安全。 1·合理的指定初始容量。 List和Dictionary的构造函数都有一个入参为int的构造函数:public Di
阅读全文
摘要:重要::::首先参考 C#高级编程 第10版 C# 6 & .NET Core ,次重要的是下面的截图部分 应该了解的垃圾收集机制 对于大多数应用而言,了解垃圾收集机制的主要动机并不是为了对内存“省吃俭用”,而是为了处理非托管资源的控制问题,这些问题往往跟内存的大小没有什么关系。例如对一个文件进行操
阅读全文