var CustomStatus = new[] { "PAG", "ASG", "WIP", "COMP", "SEN" };
List<CDSHelper> HelperList = new List<CDSHelper>();
// Getting the values from API to fill the object and
// finally doing the custom order by
var result = HelperList.OrderBy(a => Array.IndexOf(CustomStatus, a.status));
我使用自定義的順序排序依據的HelperList objects.I大約有18狀態完全.OUT的18個狀態我想訂購的訂單基礎上CustomStatus名單,休息應該在CustomStatus狀態後出現在列表中。使用上面的代碼,我可以在HelperList的末尾獲得CustomStatus。如何實現這個目標?Linq-問題由
您是否嘗試創建一個帶有自定義狀態的列表,並添加其他法規,然後按表達式使用相同的順序? – Sruti
請注意,對於大量的項目,它可能會非常緩慢。 Ordeby是O(n * log n)和索引O(n)。您的自定義順序是O(n^2 * log n)。 – qub1n
是它打擊性能。但這是我的要求。另一種選擇是首先根據自定義狀態提取列表數據,並將其放入單獨的列表中,最後將非自定義狀態數據添加到列表中。哪一個最好? – Oasis