gpt4 book ai didi

c# - 实现 IEnumerable 数据结构

转载 作者:行者123 更新时间:2023-11-30 22:31:25 25 4
gpt4 key购买 nike

我遇到了以下实现二叉树的代码。为了方便foreach,实现了IEnumerable。这是使 foreach 工作的最简单方法吗?我不明白为什么需要两个 GetEnumerator() 函数。

public class BinaryTree<T> : IEnumerable<T>
{
..
public IEnumerator<T> InOrderTraversal()
{
...
yield return curr.Value;
...
}

public IEnumerator<T> GetEnumerator()
{
return InOrderTraversal();
}


System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}

最佳答案

一个返回 IEnumerator<T>另一个返回 IEnumerator .这样一来,在 .NET 中引入泛型之前编写的遗留代码仍然可以使用此数据结构。

关于c# - 实现 IEnumerable<T> 数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9254262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com