索引器允许类或结构的实例按照与数组相同的方式进行索引
迭代器主要是为foreach关键字服务的
打个比方吧(可能不恰当)
加入在桌面上摆上十张纸牌并按照一定的顺序编上1~10的号码,对应的为:
0 1 2 3 4 5 6 7 8 9
A B C D E F G H I J
如果是索引我索引第二张返回的就是B啦 索引一次只返回一张!
但是迭代器则是使用foreach一个一个返回
索引是在了解集合中的对象的位置时才使用的;
而迭代器就是不知道集合中有哪些对象所以一个一个进行访问。
应该明白了吧!
属性和索引器最本质的区别在于:索引器带参数
属性 | 索引器 |
允许调用方法,如同它们是公共数据成员。
|
允许调用对象上的方法,如同对象是一个数组。
|
可通过简单的名称进行访问。
|
可通过索引器进行访问。
|
可以为静态成员或实例成员。
|
必须为实例成员。
|
属性的 get 访问器没有参数。
|
索引器的 get 访问器具有与索引器相同的形参表。
|
属性的 set 访问器包含隐式 value 参数。
|
除了 value 参数外,索引器的 set 访问器还具有与索引器相同的形参表。
|