当前位置: 移动技术网 > IT编程>开发语言>.net > C# IEnumerable接口

C# IEnumerable接口

2019年07月23日  | 移动技术网IT编程  | 我要评论

南通中考录取分数线,僵尸复活电影,繁体字转换工具

问: 集合很好用,而且非常简单,但是我不明白 为什么数组、arraylist 和 hasttable 这些集合都能用foreach直接遍历呢?我想自己定义一个集合类,应该怎么做呢?
回答:这个问题问的好,如果查看arraylist和hasttable定义可以看到 ,她们都实现了接口,这就是能用foreach的关键所在。
 
看一下数组的遍历:
 

 

 
那么如果我们自定义的类,能不能也像对数组一样进行遍历呢?
我们先试一下:
 

 

 
 
运行结果出现错误:
 

 

 
遍历原理:要想使用foreach对自定义的集合类进行遍历,需要实现ienmuerable接口。
(1)因为ienmuerable接口有一个返回循环访问集合的枚举器ienumerator
 

 

 

 

 
(2)枚举器ienumerator接口
 

 

使用foreach时,枚举器ienumerator会编译成如下代码,实现了查找数据功能(对外界是foreach语法)
 

 

 
 
 
具体实现方案:
(1)在department类添加

 

然后让该类继承ienumerator接口

 

(2)将光标定在

 

上,然后按alt +shift+f10,选择

 

选择第一项
 
 
(3)会出现这个

 

 
(4)改成这样

 

 
(5)这样就能用foreach遍历类了。
 
 
 

 

 
下面再看一下system.colliction命名空间下的另一接口:icollection 。他继承自ienumerable。
 

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网