我有一个这样的课程
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; }
}
如何创建遍历内部列表的所有元素和内部列表元素的循环,请注意列表中的元素也可以包含一个列表。
答案 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)
}
}
}