我正在设计一个 Graph 类(列表和矩阵实现)。我必须提供诸如GetAdjacencies(int vertex).
一开始我就想到了返回,这样我就可以使用语句IEnumerable遍历结果。foreach但在下一刻,我意识到这是一个可怕的解决方案,因为每次GetAdjacencies(int vertex)发生都必须创建新列表。
接下来我想到了返回Enumerator,但是这样我就不能遍历结果 usingforeach语句。但是效率要好得多(我将实现许多图形算法,我对优化非常感兴趣)。
您能告诉我在 C# 中执行此操作的正确方法是什么吗?