0
我上課喜歡遞歸和計算器
public class Question
{
private readonly int questionID;
private List<Question> similarquestions; // Similarity is bidirectional
}
讓所有的嵌套類我用的使用方法遞歸像
public static IEnumerable<T> Traversal<T>(
T root,
Func<T, IEnumerable<T>> getChildren)
{
if (root == null)
{
yield break;
}
yield return root;
var children = getChildren(root);
if (children == null)
{
yield break;
}
foreach (var child in children)
{
foreach (var node in Traversal(child, getChildren))
{
yield return node;
}
}
}
我使用它像
var classes = Traversal(movie, x => x.similarquestions)
,但它給stackoverflow例外任何想法如何修復請
在調試器中運行它,看看遞歸是否實際工作。 –
是工作無限 – AMH
如果'問題'指向對方,那麼這永遠不會終止。 –