Tag: 表现可

树中嵌套产量的性能

我有一个树状的结构。 此结构中的每个元素都应该能够返回它所属的所有元素的Enumerable。 我们将此方法称为IEnumerable GetAll() 。 所以,如果我们有 A <– topmost root / \ BC / \ / \ DEFG 在元素C上调用GetAll返回{C, F, G} (元素的固定顺序会很好,但不需要)。 我想每个人都已经知道了。 GetAll的当前实现如下所示: public IEnumerable GetAll () { yield return this; foreach (Foo foo in MyChildren) { foreach (Foo f in foo.GetAll ()) { yield return f; } } } 在早期的实现中,我返回了一个List并使用List.AddRange()添加了child-foos。 我的问题是,是否正确实施了使用产量的版本,或者是否应该改进(特别是在性能方面)。 或者这只是坏事,我应该坚持使用List s(或ReadOnlyCollections […]