Cześć,
Mierzę się z następującym problemem:
Mam listę około 1000 danych typu double i mam zamiar oczyścić listę:
Najpierw robię pętlę i sprawdzam warunek dla kolejnych wartości z listy: ((x_1 < x_2 & x_3 <x_2) || x_1 > x_2 & x_3 > x_2)) --jeżeli warunek jest spełniony usuwam x_1 i x_3
Dostaję nową listę (ale kolejne wartości po usunięciu spełniają powyższy warunek) i tu pojawia się problem, w jaki sposób zrobić aby końcowym efektem była lista kolejnych wartości które nie spełniają tego warunku. W ten sposób chce oczyścić swoje dane.
var data = db.data;
int listRowsValue = data.Max(p => p.ID);
for (int i = 2; i < listRowsValue; i++)
{
double x_1 = data.Where(p => p.ID == i - 1).Select(p => p.x).FirstOrDefault();
double x_2 = data.Where(p => p.ID == i).Select(p => p.x).FirstOrDefault();
double x_3 = data.Where(p => p.ID == i + 1).Select(p => p.x).FirstOrDefault();
if ((x_1 < x_2 & x_3 < x_2) || (x_1 > x_2 & x_3 > x_2))
{
var ch = new newdata
{
x = x_2,
};
newdata.Add(ch);
}
}
}