C# 将嵌套条件语句转换为其等价的树状结构

C# 将嵌套条件语句转换为其等价的树状结构,c#,tree,C#,Tree,我有一个字符串,其中包含一个C函数和条件语句 string inputFunction = "if(x > 10) { if(x == 11) { //more conditions } if(x == 12) { } }"; 我使用正则表达式解析条件语句,然后解析其代码块。然后针对下一个条件再次重复该过程。然后我计划将它们存储在我创建的类中: class Condition { public string Con

我有一个字符串,其中包含一个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; }
}
现在的问题是:我无法使用当前算法创建父子关系


我只能辨认出第一批父母。我可以再次重复这个过程来解析他们的孩子,但是这些孩子也可以在里面有孩子的条件。有人有什么建议吗?或者有更好的方法吗?

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

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

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.
}
类条件
{
公共字符串条件字符串{get;set;}
公共条件ParentCondition{get;set;}
public List ChildConditions{get;set;}//以防有更多
//不止一个条件。
}

您好,谢谢您的回复,您对我如何填写儿童状况列表有什么建议吗?