Ich habe ein kleines Problem. Ich füge Zahlen zu ArrayList
wie 156, 340 (wenn es sich um TransferIn
o Buy
) usw. und dann entferne ich sie, indem ich es wie 156, 340 (wenn es TransferOut
, Sell
). Die folgende Lösung funktioniert ohne Probleme. Das Problem, das ich habe, ist, dass die Mitarbeiter für einige alte Daten Summen wie 1500 statt 500+400+100+500 eingegeben haben. Wie würde ich es ändern, so dass, wenn es Sell/TransferOut und es gibt keine Übereinstimmung innerhalb ArrayList sollte es versuchen, mehrere Elemente aus dieser ArrayList hinzufügen und finden Elemente, die in Aggregat kombinieren.
ArrayList alNew = new ArrayList();
ArrayList alNewPoIle = new ArrayList();
ArrayList alNewCo = new ArrayList();
string tempAkcjeCzynnosc = (string) alInstrumentCzynnoscBezNumerow[i];
string tempAkcjeInId = (string) alInstrumentNazwaBezNumerow[i];
decimal varAkcjeCena = (decimal) alInstrumentCenaBezNumerow[i];
decimal varAkcjeIlosc = (decimal) alInstrumentIloscBezNumerow[i];
int index;
switch (tempAkcjeCzynnosc) {
case "Sell":
case "TransferOut":
index = alNew.IndexOf(varAkcjeIlosc);
if (index != -1) {
alNew.RemoveAt(index);
alNewPoIle.RemoveAt(index);
alNewCo.RemoveAt(index);
} else {
// Number without match encountred
}
break;
case "Buy":
case "TransferIn":
alNew.Add(varAkcjeIlosc);
alNewPoIle.Add(varAkcjeCena);
alNewCo.Add(tempAkcjeInId);
break;
}
}