Tôi đang cố gắng chọn văn bản từ bộ sưu tập có độ sâu ba phần tư.Cần một LINQ để truy vấn đối tượng cho bộ sưu tập lồng nhau
RootObject
có List<ResourceSet>
resourceSets
Các resourceSets
có List<Resources>
resources
Các resources
có List<RouteLeg>
routeLegs
Các routLegs
có List<ItineraryItem>
itineraryItems
Các mỗi routeLeg
chứa và đối tượng được gọi là ItineraryItem
và trong đối tượng đó có thuộc tính văn bản.
Tôi đang cố gắng lấy ra danh sách tất cả các thuộc tính văn bản trên đối tượng routeLeg
. Như bạn có thể thấy nó được lồng khá sâu. Tôi rõ ràng có thể làm điều này trong vòng lặp lồng nhau .. (như hình dưới đây) nhưng muốn một cái gì đó sạch hơn bằng cách sử dụng LINQ to Objects nhưng tôi đang gặp rắc rối với nhiều làm tổ.
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());
}
}
}
}
Bạn có một lỗi ... 'for (int j = 0; j