将包含条件的小字符串值转换为代码(或动态评估条件的最佳方法)?

时间:2016-03-18 14:21:56

标签: c#

我正在尝试验证动态条件。有办法吗?

string condition = "i == 3"; 

for (int i = 0; i < 5; i++) 
{ 
    if (condition)
    {
        // condition met
    }
}

或者这是错误的方法,还有更好的方法来动态评估条件吗?

1 个答案:

答案 0 :(得分:1)

您可以使用这样的委托表达式,但这不会将字符串转换为表达式。但也许这是一种你应该考虑的方法呢?

Func<int, bool> condition = i => i == 3;

for (int i = 0; i < 5; i++)
{
    if (condition(i))
    {
        Console.WriteLine(i);
    }
}