如何遍历具有相同属性列表的类?

时间:2016-04-19 11:55:35

标签: c# list

我有一个这样的课程

 public class FilterConditionDto
{
    public string Type { get; set; }

    public bool Parent { get; set; }

    public string[] Value { get; set; }

    public string Column { get; set; }

    public string DataType { get; set; }

    public string Operator { get; set; }

    public List<FilterConditionDto> nodes { get; set; }
}

如何创建遍历内部列表的所有元素和内部列表元素的循环,请注意列表中的元素也可以包含一个列表。

2 个答案:

答案 0 :(得分:3)

您可以使用递归来执行您想要的操作:

private void Filter(FilterConditionDto dto)
{
    if (dto != null)
    {
        // do something with dto

        if (dto.nodes != null)
        {
            foreach (FilterConditionDto subDto in dto.nodes)
            {
                Filter(subDto); // <-- here you call the method recursively
            }
        }
    }
}

答案 1 :(得分:0)

递归

public void Traverse(List<FilterConditionDto> models)
{
    foreach(var item in models)
    {
      if(item.nodes.Count > 0)
      {
          Traverse(item.nodes)
      }
    }
}
相关问题