Sto provando a selezionare il testo da una raccolta profonda tre o quattro.È necessaria una query da linq a oggetti per una raccolta nidificata
RootObject
ha un List<ResourceSet>
resourceSets
Il resourceSets
ha un List<Resources>
resources
Il resources
ha un List<RouteLeg>
routeLegs
Il routLegs
ha una List<ItineraryItem>
itineraryItems
Il ogni routeLeg
contiene e oggetto chiamato ItineraryItem
e in quell'oggetto c'è una proprietà di testo.
Sto cercando di estrarre un elenco di tutte le proprietà del testo sull'oggetto routeLeg
. Come puoi vedere, è annidato piuttosto in profondità. Ovviamente posso farlo nei loop annidati .. (come mostrato sotto) ma voglio qualcosa di più pulito usando Linq to Objects ma sto avendo problemi con il nesting multiplo.
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());
}
}
}
}
Hai un bug ... 'for (int j = 0; j