I have List<T> data and Predicate<T> condition.
What way should I use to clear data depending on condition result?
Option 1:
var del = data.Where(i => condition);
data.RemoveAll(i => del.Contains(i));
Option 2:
var del = data.Where(i => condition);
for (int i = 0; i < del.Count; i++)
data.Remove(del[i]);
Option 3:
var del = data.Where(i => condition);
foreach (var i in del)
data.Remove(i);
Option 4:
data = data.Where(i => !condition);
Any other?
How about:
data.RemoveAll(condition);
Note that your fourth option won't work without a call to ToList().
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With