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)
{
}
}