, поэтому я создаю древовидную структуру с моими данными, и я хочу избежать вложенных вложенных вложенных повторений. В детях у детей могут быть дети, и мне нужно знать, какие данные сделать сбрасываемыми и дать значок папки. Есть ли способ упростить это? Заранее спасибо.Упростить вложенные циклы?
foreach (var i in mlist)
{
// if this is a matching child
if (i.key == dto.under.ToString())
{
// add this as a child
i.children.Add(m1);
}
//check children also
foreach (var i2 in i.children)
{
if (i2.key == dto.under.ToString())
{
// add this as a child
i2.children.Add(m1);
}
if (i2.children.Count != 0)
{
i2.folder = true;
}
else
{
i2.folder = false;
}
foreach (var i3 in i2.children)
{
if (i3.key == dto.under.ToString())
{
// add this as a child
i3.children.Add(m1);
}
if (i3.children.Count != 0)
{
i3.folder = true;
}
else
{
i3.folder = false;
}
}
}
if (i.children.Count != 0)
{
i.folder = true;
}
else
{
i.folder = false;
}
}
Сделать петлю [рекурсивная] (HTTP : //stackoverflow.com/questions/26998209/simplify-nes Ted-петля). – James
Оператор if может быть просто написан как 'i.folder = i.children.Count! = 0' –
Что это связано с Javascript? –