Próbuję wybrać tekst z kolekcji, która ma trzy z czterech głębokości.Potrzebujesz zapytania linq do obiektu dla zagnieżdżonej kolekcji
RootObject
ma List<ResourceSet>
resourceSets
resourceSets
ma List<Resources>
resources
resources
ma List<RouteLeg>
routeLegs
routLegs
ma List<ItineraryItem>
itineraryItems
each routeLeg
zawiera i obiekt o nazwie ItineraryItem
iw tym obiekcie znajduje się właściwość tekstowa.
Próbuję wyciągnąć listę wszystkich właściwości tekstu na obiekcie routeLeg
. Jak widać, jest zagnieżdżony dość głęboko. Mogę oczywiście zrobić to w zagnieżdżonych pętlach .. (jak pokazano poniżej), ale chcę czegoś czystszego używając Linq to Objects, ale mam problem z wielokrotnym zagnieżdżaniem.
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());
}
}
}
}
masz błąd ... 'for (int j = 0; j