gpt4 book ai didi

c# - 为什么要创建一个 IEnumerable?

转载 作者:太空狗 更新时间:2023-10-29 19:51:20 25 4
gpt4 key购买 nike

我不明白为什么要创建一个 IEnumerable。或者为什么它很重要。

我正在查看 IEnumerable 的示例: http://msdn.microsoft.com/en-us/library/system.collections.ienumerable.aspx

但如果我去的话,我基本上可以做同样的事情:

 List<Person> people = new List<Person>();

那么 IEnumerable 有什么用呢?你能给我一个我需要创建一个实现 IEnumerable 的类的情况吗?

最佳答案

IEnumerable是一个接口(interface),它对外暴露了一些东西。虽然你是完全正确的,但你可以使用 List<T> ,但是List<T>在继承树中很深。 List<T> 到底是做什么的? ?它存储项目,它提供某些方法来 AddRemove .现在,如果您只需要 List<T> 的“元素保存”功能怎么办? ?这就是 IEnumerable<T>是 - 一种抽象的表达方式“我想获得一个我可以迭代的项目列表”。一个列表是“我想得到一个我可以修改的集合,可以通过索引访问和迭代”。 List<T>提供比 IEnumerable<T> 更多的功能可以,但会占用更多内存。因此,如果一个方法采用 IEnumerable<T> ,它并不关心它到底得到了什么,只要对象提供 IEnumerable<T> 的可能性即可。 .

此外,您不必创建自己的 IEnumerable<T> , 一个 List<T> 一个IEnumerable<T> !

关于c# - 为什么要创建一个 IEnumerable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4481230/

25 4 0