我有以下代码:约IEnumerable的<T>收集奇怪的问题
IEnumerable<TreeItem> rootTreeItems = BuildRootTreeItems();
BuildTreeView(rootTreeItems.ElementAt(0));
private static void BuildTreeView(TreeItem treeItem)
{
TreeItem subMenuTreeItem = new TreeItem();
subMenuTreeItem.Header = "1";
TreeItem subMenuTreeItem2 = new TreeItem();
subMenuTreeItem.Header = "2";
treeItem.TreeItems.Add(subMenuTreeItem);
treeItem.TreeItems.Add(subMenuTreeItem2);
}
奇怪的是BuildTreeView返回后,rootTreeItems的第一个元素没有任何孩子节点,而它确实已经调试到时BuildTreeView方法。
这个问题让我困惑了很长时间,任何人有什么想法?非常感谢。
'BuildRootTreeItems'返回一个LINQ表达式吗? – Gabe
使用yield return来返回树项目,但使用的参数也是IEnumerable类型 –
是的,'yield return'也会导致这个问题。 – Gabe