摘要:
我们可以使用foreach迭代数组,集合。那么为什么数组和集合可以使用foreach迭代而别的类型却不行呢?foreach的内部机制又是什么,这里我来说一下枚举器。 很多教材上说,使用foreach迭代必须满足什么条件,很多人就是一句话,实现IEumerable接口。其实不是完全正确。实现IEumerable接口只是第一步。第二步是要实现GetEumerator()方法,这个方法需要返回IEumerator接口。其实真正起作用的是GetEumerator()和IEumerator接口。原因是,C#中的foreach最后在IL代码中不会编译为foreach,而是会把foreach转化为IE... 阅读全文
posted @ 2011-11-08 19:35
刘中栋
阅读(263)
评论(0)
推荐(0)
摘要:
我们可以使用数组来处理一组相同的类型,我们可以根据索引来获取每一个元素。那么既然是这样,我们为什么还要使用索引器呢?我们觉得有以下几点。 1,如果我们的类的意图本身就是想表示现实中的一组事物。本身就是一个群集的概念,那么我们就可以封装数组或集合成为索引器,让我们的类看上去像一个整体概念。这样有助与我们理解类的意图。使我们的类专注于表现群集的概念。这会使我们的类有数组的表现形式。更加形象化。还使其他开发人员能够更加直观地理解类及其用途。 2,使用数组有时候要依托于类里的数组。而索引器却是积极的表现类的意图,可以直接使用类索引 3,我们可以很轻易的使用别的类型来索引我们自己的类,当然数组... 阅读全文
posted @ 2011-11-08 03:31
刘中栋
阅读(284)
评论(0)
推荐(0)

浙公网安备 33010602011771号