C# 将嵌套条件语句转换为其等价的树状结构
我有一个字符串,其中包含一个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
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;}//以防有更多
//不止一个条件。
}
您好,谢谢您的回复,您对我如何填写儿童状况列表有什么建议吗?