我需要迭代未知的嵌套列表和大小(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);
}
}
}
答案 0 :(得分:0)
写了40年的递归函数。如果我不能回复,没有人可以。最好的方法是定义类。通常像下面的代码一样完成。向类添加属性,如名称,等级,序列号。
public class Category
{
List<Category> children { get; set; }
}