2011-11-16 1 views
0

SpaceType, TimeInterval 및 Price로 객체를 정렬하려고합니다. 아래와 같이 중첩 된 객체입니다. 비용> - -> TimeInterval이C#을 사용하여 중첩 된 객체의 값 정렬

"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

그래서 당신은 당신이 LINQ를 사용하여 C#에서 구조를 가지고 가정 누군가가 나에게 # 4.0

ParkingFacility c를 이용하여 효율적인 방법으로 그것을 분류하는 방법에 대한 샘플을 제안 할 수 여러 항목으로 주문할 수 있습니다.

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

이 과정의 사소한 예입니다하지만 당신이 그 (것)들을 분류 원하는 방법에 따라 - 자신의 용기 또는 모든 내부 경우 하나 -이 반복자를 실행할 수 있습니다. 그것은 매우 효율적입니다 - 당신보다 나은 프로그래머와 나는 그렇게했습니다.

아마도 거친 것은 spaceType을 정렬하는 방법 일 것입니다. 단지 알파벳순으로하는 것이 좋을 수도 있고 원하는 것일 수도 있습니다.

+0

내가 겪고있는 문제는 정렬 순서가 아니라 시간 간격이라는 중첩 된 객체를 기반으로 주차 시설 객체 인 루트 구조를 정렬하는 방법입니다. ParkingFacility에는 원가 개체가 포함되어 있습니다. 원가 개체에는 가격 개체 목록 인 FaciltyPrice 개체가 포함됩니다. 목록 개체에서 나는 여행 시간을 얻을 수 있지만 여행 시간을 기준으로 주차 시설을 분류하는 것은 내가 어떻게해야하는지 전혀 모른다. 게시 된 내 개체를 참조하십시오. 그것은 내가 현재의 객체를 정확히 json으로 표현한 것입니다. – Pawan

+0

정렬하고자하는 요소만으로 코드에서 모델을 추가 할 수 있습니까? 또한 원하는 방식의 desc 봐. 나는 아직도 당신이 어떤 개체를 정렬하고 어떤 조건을 당신이 그들을 정렬하고 싶어 100 % 아니에요. tho를 도우려는 것 이상! –

+0

rangitatanz : 도움 주셔서 감사합니다. 나는 그것을 알아. 처음에 사용 된 논리는 옳지 않았습니다. – Pawan

관련 문제