C# 计算用户表达式

C# 计算用户表达式,c#,asp.net,expression,C#,Asp.net,Expression,我正在开发一个web应用程序,其中有一个文本框。用户输入条件以显示“字符串”的特定颜色。这个字符串包含一些整数值 用户为字符串值指定如下条件: >30:"Red" <20:"Green" :"Yellow: (这意味着如果字符串值大于60,则字符串的颜色为“蓝色”,否则字符串的颜色为“白色”) 我必须根据在文本框中为每个字符串输入的上述条件来计算字符串的颜色。有数千个带有值的字符串,用户将为每个字符串输入这样的表达式 解决此问题的最佳方法是什么?String input=getTe

我正在开发一个web应用程序,其中有一个文本框。用户输入条件以显示“字符串”的特定颜色。这个字符串包含一些整数值

用户为字符串值指定如下条件:

>30:"Red"
<20:"Green"
:"Yellow:
(这意味着如果字符串值大于60,则字符串的颜色为“蓝色”,否则字符串的颜色为“白色”)

我必须根据在文本框中为每个字符串输入的上述条件来计算字符串的颜色。有数千个带有值的字符串,用户将为每个字符串输入这样的表达式

解决此问题的最佳方法是什么?

String input=getTextBoxInput()//从文本框获取输入
String input = getTextBoxInput() // get input from text box
if(input.contains("<") || input.contains("<"))
{
   if(input.contains("<"))
   {
      int index = input.indexOf("<");
      String conditionString = input.substring(index+1,input.length());
      // condition number is the number being compared
      int conditionNumber = conditionString.split(":")[0];
      // if condition is true then get the corresponding colour
      if(number < conditionNumber){setColor(conditionString.split(":")[1])}
      // check if it an if else condition and do the following
      else if(input.length()>1){ setColor(conditionString.split(":")[2])}
   }
}

如果(input.contains("请参见算法,您需要类似的东西

我已经为每个表达式创建了程序集,并在运行时加载它们以计算表达式,但因为有太多的程序集,并且在运行时加载它们以计算表达式会导致内存问题。您需要先解析此字符串,对其进行标记,然后构建条件靠你自己。
String input = getTextBoxInput() // get input from text box
if(input.contains("<") || input.contains("<"))
{
   if(input.contains("<"))
   {
      int index = input.indexOf("<");
      String conditionString = input.substring(index+1,input.length());
      // condition number is the number being compared
      int conditionNumber = conditionString.split(":")[0];
      // if condition is true then get the corresponding colour
      if(number < conditionNumber){setColor(conditionString.split(":")[1])}
      // check if it an if else condition and do the following
      else if(input.length()>1){ setColor(conditionString.split(":")[2])}
   }
}