我正在研究c#中的問題。我有一個對象數組和一個關鍵對象。有對象的五個屬性:從大多數匹配對象到最少匹配對象排列對象
- 集團
- 國家
- 服務
- 產業
- 技術
我想安排的對象,從而與主要對象最匹配的對象將首先顯示。 我想按以下順序排列數據 -
- 它將獲得與關鍵對象組相同組的對象。
- 如果找到同一組的對象,那麼這些對象將根據國家進行排序。即如果找到相同的參數值,則根據下一個參數決定順序。
- 對於具有不同組的對象,也將遵循相同的過程。
我有一個解決方案: 我創建的5個參數每個排列和組合32個LINQ查詢,然後我通過一個合併的那些32分的結果之一。這個解決方案給了我想要的結果,但是這個解決方案需要很多處理。請提供更短的解決方案。
在此先感謝。
你能否提供任何樣本數據和期望的輸出?這將有助於我們更好地理解事物。 – Sandy
因此,你的LINQ查詢就像'myObjects.OrderBy(o => o.Group).ThenBy(o => o.Country).ThenBy(o => o.Service).ThenBy(...)'?但是你也想改變順序,所以你在代碼中做了這個LINQ查詢的各種排列,所以定義了另一個,但它看起來像:'myObjects.OrderBy(o => o.Group).ThenBy(o => o.Service )。然後通過(o => o.Technology)。然後通過(...)'?您希望能夠以任意順序定義哪種順序,而不必重複類似查詢32次以上? –