迭代未知的嵌套列表

时间:2015-10-02 14:30:49

标签: c# list recursion

我需要迭代未知的嵌套列表和大小(subcategories.subcategories.subcategories等...)并检查我的数组中的任何值是否包含嵌套列表值。我可能需要一个递归函数。我怎么能做到这一点。

到目前为止,这是我的代码(它不会检查更深层次的2级)

 for (int counter = 0; counter < filteredList[0].subcategories.Count; counter++)
 {
       var item = filteredList[0].subcategories[counter].questionanswer;

       for (int i = 0; i < item.Count; i++)
       {
           var results = Array.FindAll(questionIDs, s => s.Equals(item[i].id.ToString()));
           if (results.Length > 0)
           {
               QuestionViewModel question = new QuestionViewModel();
               question.formattedtext = item[i].formattedtext;
               question.id = item[i].id;
               question.sortorder = item[i].sortorder;
               question.breadCrum.AddRange(breadCrumCategoryId);
               filteredQuestions.Add(question);
           }
      }
 }

1 个答案:

答案 0 :(得分:0)

写了40年的递归函数。如果我不能回复,没有人可以。最好的方法是定义类。通常像下面的代码一样完成。向类添加属性,如名称,等级,序列号。

 public class Category
    {
        List<Category> children { get; set; }
    }​