Edit: Added one with lambda function:
Func<int, int, bool> lessThan = (num1, num2) => num1 < num2; Func<int, int, bool> greaterThan = (num1, num2) => num1 > num2; public void Run() { int increment = -1; int l = 0; Func<int, int, bool> c = lessThan; for (int i = 50; c(i, l); i = i + increment) { } }
I'm sure people will come up with much more elegant solutions than this, but here it is:
public enum Comparison { GreaterThan, LessThan } public bool Compare(int a, Comparison c, int b) { if (c == Comparison.GreaterThan) return a > b; else if (c == Comparison.LessThan) return a < b; else throw new ArgumentException(); } public void Run() { int i = 50; int increment = -1; int l = 0; Comparison c = Comparison.GreaterThan; for (i; Compare(i, c, l); i = i + increment) { } }
Alan jackson
source share