IEnumerator:是一个真正的集合访问器,提供在普通集合中遍历的接口,有Current,MoveNext(),Reset(),其中Current返回的是object类型。IEnumerable: 暴露一个IEnumerator(只包含一个抽象的方法GetEnumerator(),该方法返回 ...
C 中如何合理的释放非托管内存 在本文中我们将讲解使用IDisposable释放托管内存和非托管内存。 A.首先需要让类实现IDisposable接口,然后实现IDispose方法。 A.a核心Disponse bool isDisponse .此方法首先判断isReadyDisposed 判断是否第一次调用此核心方法 ,如果不是第一次调用则不做任何操作。 .再判断是否是析构函数调用 如果是析构 ...
2013-04-22 13:48 2 2990 推荐指数:
IEnumerator:是一个真正的集合访问器,提供在普通集合中遍历的接口,有Current,MoveNext(),Reset(),其中Current返回的是object类型。IEnumerable: 暴露一个IEnumerator(只包含一个抽象的方法GetEnumerator(),该方法返回 ...
在本文中将从基础角度讲解HashTable、Dictionary的构造和通过程序进行插入读取对比。 一:HashTable 1.HashTable是一种散列表,他内部维护很多对Ke ...
一、Delegate委托可以理解为一个方法签名。 可以将方法作为另外一个方法的参数带入其中进行运算。在C#中我们有三种方式去创建委托,分别如下: 二、Event事件,是一种封装过的委托。 它拥有以下三要素: 1.事件发行者-达到某些条件时激发 ...
前言 IEnumerable、IEnumerator到现在为止对这两个接口还是不太理解,不理解但是自己总是想着试着要搞明白,毕竟自己用的少,所以在此先记录一下。以备自己日后可以来翻查,同时也希望园子里的大牛们,来帮我看看理解的怎么样。 查看并使用两个接口 接下来我们先来看看两个接口 ...
Monitor对象 1.Monitor.Enter(object)方法是获取锁,Monitor.Exit(object)方法是释放锁,这就是Monitor最常用的两个方法,当然在使用过程中为了避免获取锁之后因为异常,致锁无法释放,所以需要在try{} catch(){}之后 ...
clr基本 CLR(Common Language Runtime)是一个可由多种编程语言使用的“运行时”。(例如:c#,c++/cli,vb,f#,ironpython,ironruby,il...) CLR的核心功能内存管理、程序集加载、安全性、异常处理、线程同步、泛型、尾调用 ...
代码原则 1.职责单一原则,封闭开发原则 2.枚举类型最好不要用 数字表示 3.代码要可配置,可扩展 初级1.抽象类,接口的区别抽象类需要被继承,不能实例化,子类必须实现其抽象方法,抽象方法没有方法体,是为了子类不要忘记写某个方法而出现的接口看成是抽象类的补充(子类实现基类中的所有 ...
一、引言 今天在论坛中看到一位朋友提出这样的一个问题,问题大致(问题的链接为:http://social.msdn.microsoft.com/Forums/zh-CN/52e6c11f-ad28-4633-a434-fc4d09f4d23d )是这样的: 大家先不要去 ...