3/4 の深さのコレクションからテキストを選択しようとしています。
RootObject
がありますList<ResourceSet>
resourceSets
resourceSets
にはList<Resources>
resources
resources
にはList<RouteLeg>
routeLegs
routLegs
にはList<ItineraryItem>
itineraryItems
eachrouteLeg
には含まれるオブジェクトが呼び出されItineraryItem
、そのオブジェクトには text プロパティがあります。
オブジェクトのすべてのテキスト プロパティのリストを取得しようとしていrouteLeg
ます。ご覧のとおり、かなり深くネストされています。私は明らかにネストされたループでこれを行うことができます..(以下に示すように)、Linq to Objectsを使用してよりクリーンなものが必要ですが、複数のネストに問題があります。
ResourceSet testst = new ResourceSet();
ResourceSet rs;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < _Result.resourceSets.Count; i++)
{
rs = _Result.resourceSets[i];
for (int j = 0; j < rs.resources.Count; i++)
{
Resource rec = rs.resources[j];
string test = rec.distanceUnit;
for (int k = 0; k < rec.routeLegs.Count; k++)
{
RouteLeg rl = rec.routeLegs[k];
for (int l = 0; l < rl.itineraryItems.Count; l++)
{
ItineraryItem ii = rl.itineraryItems[l];
sb.Append(ii.instruction.ToString());
}
}
}
}