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