0

我有一个字符串,其中包含一个带有条件语句的 C 函数。

string inputFunction = "if(x > 10)
{
    if(x == 11)
    {
        //more conditions
    }
    if(x == 12)
    {
    }
}";

使用正则表达式我解析条件语句,然后解析它的代码块。然后再次为下一个条件重复该过程。然后我计划将它们存储在我创建的类中:

class Condition
{
     public string ConditionString { get; set; }
     public string ParentCondition { get; set; }
     public string ChildConditions { get; set; }
}

现在的问题是:我无法用我当前的算法创建父子关系。

我只能识别第一组父母。我可以再次重复这个过程来为他们的孩子解析,但那些孩子也可以在里面有孩子的条件。有没有人有建议或有更好的方法来做到这一点?

4

1 回答 1

1

对于树形结构,黄金法则是在其内部拥有实体集合。

我认为你的班级结构应该是这样的

class Condition
{
    public string ConditionString{get;set;}
    public Condition ParentCondition{get;set;}
    public List<Condition> ChildConditions{get;set;} // in case there are more 
                                                     // than one conditions.
}
于 2013-05-03T01:21:41.380 回答