-6
我有對象建模工具欄的列表,我想對它進行排序基於4個屬性:應該如何使用C#linq orderby then?
List<MenuItemViewModel> sortingList = new List<MenuItemViewModel>;
FillSortingList();
sortingList.OrderBy(m => m.RoleId)
.ThenBy(m => m.ToolbarLocation)
.ThenBy(m => m.Band)
.ThenBy(m => m.BandIndex);
的對象類型:
public class MenuItemViewModel : ViewModel
{
public int Id { get; set; }
public bool IsCheckable { get; private set; }
public string Name { get; private set; }
public int RoleId { get; private set; }
public int Band { get; set; }
public int BandIndex { get; set; }
public ToolbarLocation { get; set; }
}
ToolbarLocation是同一個名字的枚舉:
public enum ToolbarLocation
{
Left = 0,
Top = 1,
Float = 2
}
排序後的列表是確定的關於角色ID,但內的一個範圍角色ID的位置上和左混合。與Band值0和1相同。一個角色範圍內的唯一順序是BandIndex。
所以對我來說,似乎它在做什麼:
你還沒有向我們展示Band或BandIndex是什麼,所以它很難真正幫助 – pquest
你可以發佈[mcve]嗎? –
我編輯,他們是整數 –