0
現在、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。問題は、動的にサブカテゴリを呼び出す方法で再帰を実装する方法です。つまり、このコードは3つのレベルにのみ下がります。私は利用可能なサブカテゴリがあるかどうかをチェックする条件を実装する方法がわかりません – Giolla