So berechnen Sie den Wert untergeordneter Elemente aus einer hierarchischen Liste in einer Schleife.So summieren Sie den Wert von untergeordneten Elementen aus einer hierarchischen Liste in einer Schleife
Ich brauche, dass während der Schleife in der Liste die Werte der Menge und Preis-Eigenschaft die Summe dieser Eigenschaften der Kinder enthalten.
Im Folgenden sind die zwei Klassen, die verwendet werden, um mir zu helfen, mein Problem zu lösen.
namespace SGP.Dto.Custo
{
public class PlanilhaCusto
{
public int id{ get; set; }
public int parenteId{ get; set; }
public string name { get; set; }
public decimal amount{ get; set; }
public decimal price{ get; set; }
public PlanilhaCusto(int pId, int pParenteId, pName, decimal pAmount, decimal pPrice)
{
id = pId;
parentId = pParentId;
name = pName;
amount = pAmount;
price = pPrice;
}
}
}
namespace SGP.Dto.Custo
{
public class ShowList
{
List<Dto.Custo.PlanilhaCusto> myList = new List<PlanilhaCusto>();
public void Show()
{
myList.Add(new PlanilhaCusto(1, null, "Projetos", 0, 0));
myList.Add(new PlanilhaCusto(2, 1, "Arquitetura", 5,10));
myList.Add(new PlanilhaCusto(3, 1, "Estrutura", 0, 0));
myList.Add(new PlanilhaCusto(4, 3, "Civil", 1, 50));
myList.Add(new PlanilhaCusto(5, 3, "Infra", 3, 75));
myList.Add(new PlanilhaCusto(6, null, "Pessoal", 0, 0));
myList.Add(new PlanilhaCusto(7, 6, "Mão de Obra", 20, 5700));
/*In this loop the value of the parent items must be updated
(calculated). The hierarchy of the list can be unlimited,
like a tree. I tried using a recursive method but I could
not do it.*/
foreach (var itemList in myList)
{
}
}
}
}
"Ich habe versucht, eine rekursive Methode zu verwenden, aber ich konnte es nicht tun" Bitte posten Sie, * was * Sie versucht haben. Im schlimmsten Fall schreibt hier jemand die exakt gleiche Lösung, weil wir nicht wissen, was Sie schon versucht haben. Aber ich bezweifle, dass dir das helfen würde, oder? – HimBromBeere
Haben Sie etwas versucht? – Alejandro
Ist das eine Frage von einem Test oder Fluch oder etwas ähnliches? – KinSlayerUY