2011-11-16 33 views
0

我想通过SpaceType,TimeInterval和Price对对象进行排序。它是一个嵌套的对象,如下所示。有人建议我如何使用C#4.0使用c嵌套对象的排序值#

ParkingFacility以高效的方式,排序样品 - >成本 - > TimeInterval所

"VendorID": 1200, 
"FacilityID": 931, 
"ParkingType": "Garage", 
"Price": null, 
"BARTValidationRequired": null, 
"LotName": "Civic Center Garage", 
"City": "San Francisco", 
"Street": "355 McAllister Street", 
"Neighborhood": "Hayes Valley/Civic Center", 
"Latitude": "37.780200", 
"Longitude": "-122.417800", 
"Distance": "", 
"Availability": "Space Available: <b>62%</b> (515/843) <br/>Current Price: <b>N/A</b><br />6:00 AM-12:00 AM", 
"Details": null, 
"Hours": "Sunday : 9:00 AM-10:00 PM <br />Monday : 6:00 AM-12:00 AM <br />Tuesday : 6:00 AM-12:00 AM <br />Wednesday : 6:00 AM-12:00 AM <br />Thursday : 6:00 AM-12:00 AM <br />Friday : 6:00 AM-12:00 AM <br />Saturday : 8:00 AM-12:00 AM <br />", 
"Entrance": null, 
"Contact": "", 
"TodayTimings": "6:00 AM-12:00 AM", 
"TotalParkingSpace": 843, 
"AvailableParkingSpace": 515, 
"OccupiedParkingSpace": 328, 
"PercentFull": 38, 
"Rendering": 3, 
"ZoneID": 0, 
"OwnershipAgencyType": null, 
"Cost": [ 
[ 
    { 
     "DayType": "Thursday", 
     "SpaceType": "Motorcycle", 
     "Description": "Motorcycle: Flatrate", 
     "TimeInterval": 0, 
     "Cost": "$5.00", 
     "FaciltyID": 0 
    }, 
    { 
     "DayType": "Thursday", 
     "SpaceType": "Auto", 
     "Description": null, 
     "TimeInterval": 0, 
     "Cost": "$5.00", 
     "FaciltyID": 0 
    } 
], 
[ 
    { 
     "DayType": "MondayToFridayExceptHolidays", 
     "SpaceType": "Auto", 
     "Description": "Early Bird: Flat rate. Mon-Fri (excl. Tue): In by 9AM/Out by 7PM;No Tues Early Bird", 
     "TimeInterval": 0, 
     "Cost": "$15.00", 
     "FaciltyID": 0 
    } 
], 
[ 
    { 
     "DayType": "Thursday", 
     "SpaceType": "Auto", 
     "Description": "Per hour", 
     "TimeInterval": 60, 
     "Cost": "$3.00", 
     "FaciltyID": 0 
    }, 
    { 
     "DayType": "Thursday", 
     "SpaceType": "Auto", 
     "Description": "12-Hour Max", 
     "TimeInterval": 720, 
     "Cost": "$24.00", 
     "FaciltyID": 0 
    }, 
    { 
     "DayType": "Thursday", 
     "SpaceType": "Auto", 
     "Description": "24-Hour Max/Lost Tkt", 
     "TimeInterval": 0, 
     "Cost": "$30.00", 
     "FaciltyID": 0 
    }, 
    { 
     "DayType": "Thursday", 
     "SpaceType": "Auto", 
     "Description": null, 
     "TimeInterval": 0, 
     "Cost": "$30.00", 
     "FaciltyID": 0 
    } 
]] 
} 

回答

2

因此,假如你拥有了它在C#中,你可以使用LINQ的结构由多个项目订购。

例如

listOfPeople.OrderBy(person => person.LastName) 
     .ThenBy(person => person.FirstName) 
     .ThenBy(person => person.DOB) 

当然,这是一个简单的例子,但是这取决于你如何希望他们整理 - 如果自己的集装箱或全部内为一个 - 你可以运行这个迭代器。它非常高效 - 比我们更好的程序员。

可能更困难的是如何对spaceType进行排序 - 就像这样做会按字母顺序排列,这可能不是您想要的。

+0

我遇到的问题不是排序顺序,而是如何根据称为时间间隔的嵌套对象对停车设施对象的根结构进行排序。 ParkingFacility包含一个成本对象。成本对象包含一个FaciltyPrice对象,它是价格对象的列表。从列表对象我可以得到旅行时间,但按旅行时间排序停车设施是我没有线索如何做到这一点。请参考我发布的对象。它是我当前对象的确切json表示,我需要对它进行排序 – Pawan

+0

是否有可能在代码中添加一个简化模型,只需要您想要排序的元素 - 以及您想要的方式的描述看。我仍然不是100%想要分类哪个对象,以及您想要对它们进行排序的条件。多愿意帮助寿! –

+0

rangitatanz:谢谢你的帮助。我想到了。我最初使用的逻辑是不正确的。 – Pawan

相关问题