Ich möchte arithmetische Operationen mit meiner Liste realisieren, in diesem Fall: Spalte "Breite" * Spalte "Höhe" sollte die Spalte "Teilweise" neu schreiben. Ich habe versucht, eine Schleife zu tun, aber es funktioniert nicht. Ich habe einen Haltepunkt an der Reihe:C# Liste mit arithmetischen Operationen
_Area[i].Partial = _Area[i].width * _Area[i].height;
Und die Debug stoppen sie nie kann ich diese Linie denken, ist nicht von mir gelesen worden.
Das ist meine Sammlung Ansicht Modell ist:
public class CollectionVM_Area : BindableBase
{
private Values_Area _Area = new Values_Area();
public Values_Area Area
{
get { return _Area; }
set { SetProperty(ref _Area, value); }
}
public CollectionVM_Area()
{
_Area.Add(new Area()
{
width=10,
height=11,
});
_Area.Add(new Area()
{
width=5,
height=5,
Partial=1,
});
bool NeedPartial = false;
int i = 0;
while (NeedPartial = false && i < _Area.Count)
{
if (_Area[i].Partida == true)
{
NeedPartial = true;
}
else
{
i++;
}
}
if (NeedPartial==true)
{
_Area[i].Partial = _Area[i].width * _Area[i].height;
NeedPartial = false;
}
else
{
NeedPartial = true;
}
}
}
Mein Projekt ist ein UWP aber ich denke, mit einer Windows-Formen in Listen sind nicht anders, ist jede Hilfe dankbar.
Wird die Zeile 'NeedPartial = false' ausgeführt? In diesem Fall sollten Sie Ihr Projekt neu erstellen und erneut debuggen. Sonst wird Ihre 'NeedPartial == true' (die zu' if (NeedPartial) 'vereinfacht werden kann, nie übergeben. – HimBromBeere
Danke für die schnelle Antwort, die Zeile NeedPartial = false; unter _Area [i] .Partial = _Area [i] .width * _Area [i] .height; wird nicht ausgeführt. – Julius
Dann ist die Bedingung nicht erfüllt, check 'NeedPartial's Wert. Ist es' true'? Ich bezweifle das. Btw .: Dein letzter 'else'-Zweig ist veraltet, weil 'NeedPartial' nicht mehr verwendet wird (das gleiche gilt für die zweite Anweisung im letzten 'if'-Zweig) – HimBromBeere