我有这个foreach,我如何订购,以便我在第一个地方获得最后一项,其他人留在原地?
foreach (Statuses val in Enum.GetValues(typeof(Statuses)))
{
Status.Add(new StatusModel()
{
Value = (string)val.ToString(),
TransKey = val.ToString()
});
}
答案 0 :(得分:3)
你可以使用这个肮脏的技巧:
var ordered = Status
.OrderByDescending(s => s.TransKey == "ValueYouWantAtTheTop");
可能更有效的选择:
var toMoveToTop = Status.First(s => s.TransKey == "ValueYouWantAtTheTop");
Status.Remove(toMoveToTop);
Status.Insert(0, toMoveToTop);