我想知道在C#中是否可以将表达式用作变量/参数。我想要做类似这样的事情:
int x = 0;
public void g()
{
bool greaterThan = f("x>2");
bool lessThan = f("x<2");
}
public bool f(Expression expression)
{
if(expression)
return true;
else
return false;
}
以下是我不想做的事情:
int x = 0;
public void g()
{
bool greaterThan = f(x, '<', 2);
}
public bool f(int x, char c, int y)
{
if(c == '<')
return x < y;
if(c == '>')
return x > y;
}
我想说的是,有没有一种方法可以避免使用开关或一系列if语句来处理以下每个条件:< > <= >= == !=。是否有一种方法可以做到这一点?
编辑:假设表达式是一个字符串,例如“x < 2”。是否有一种方法可以在不使用一系列if语句的情况下从字符串转换为谓词?