В настоящее время я получаю значения, используя 3 вложенных forloops. У меня уже есть JSON, десериализованный в класс someCollection. Я видел похожие примеры в Интернете, но я надеялся, что кто-то может объяснить, как я могу заставить его работать. СпасибоКак получить значения для всех дочерних узлов в классе JSON C#
private List<Guid> GetIds(SomeCollection someList)
{
var list = new List<Guid>();
for (int i = 0; i < someList.Categories.Count; i++)
{
for (int j = 0; j < someList.Categories[i].Categories.Count; j++)
{
for (int k = 0; k < someList.Categories[i].Categories[j].Categories.Count; k++)
{
list.Add(Guid.Parse((someList.Categories[i].Categories[j].Categories[k].Key)));
}
list.Add(Guid.Parse((someList.Categories[i].Categories[j].Key)));
}
list.Add(Guid.Parse((someList.Categories[i].Key)));
}
return list;
Это типичный случай, когда вы должны использовать рекурсивные вызовы. – Graffito
Спасибо @ Graffito. У меня возникает проблема с тем, как реализовать рекурсию таким образом, чтобы динамически вызывать подкатегории. т. е. этот код только опускается на три уровня. Я не уверен, как реализовать условие, чтобы проверить, есть ли дополнительные подкатегории – Giolla