我想修改父母在C#中的孩子。 你知道這是不可能做到這一點在foreach,解釋我的問題,以更好的方式,這裏是我在第一次編碼:與C中的兒童循環#
foreach (GantLineItem proj in Tasks)
{
foreach (GantLineItem jalOrMach in proj.Children)
{
if (jalOrMach.Children.Count > 0)
{
foreach (GantLineItem machOrServ in jalOrMach.Children)
{
if (machOrServ.Children.Count > 0)
{
GanttView.ExpandCollapseService.CollapseItem(machOrServ);
}
//else jalOrMach.Children.Remove(machOrServ);
}
GanttView.ExpandCollapseService.CollapseItem(jalOrMach);
}
//else proj.Children.Remove(jalOrMach);
}
GanttView.ExpandCollapseService.CollapseItem(proj);
}
所以,每一次,我還不能執行。
要解決這個問題,我已經嘗試這樣做,有一個for循環:
for (var i = 0; i < Tasks.Count; i++)
{
for (var j = 0; j < Tasks[i].Children.Count; j++)
{
for (var k = 0; k < Tasks[i].Children[j].Children.Count; k++)
{
}
}
GanttView.ExpandCollapseService.CollapseItem(Tasks[i]);
}
但是在這裏,我有一個新的問題,該行
for (var k = 0; k < Tasks[i].Children[j].Children.Count; k++)
不能執行,在這種情況下「計數」是不可能的,爲什麼?
「該」計數「是不可能在這種情況下,」>爲什麼不呢?編譯錯誤?其他事情?請具體說明。 –
什麼類型是「孩子」?這是'IEnumerable'例如,不會有'Count'屬性。不過,你可以使用LINQ *方法*'Count()'。 –
對不起,確實不夠精確:運算符'<'不能應用於'int'和'方法組'的操作數 –