使用Linq将项目移动到列表底部

时间:2014-01-16 13:16:29

标签: c# asp.net linq

这是我的代码:

var list = from c in child_categories orderby c.Translated_Syntax 
           select new { Name = c.Translated_Syntax, ID = c.ID_Category } ;

lst_category.DataSource = list;    
lst_category.DataBind();

我的分类列表是:汽车,其他,儿童,房子,女孩,秀。

如果我订购我的清单,结果将是:

  • 汽车
  • 儿童
  • 女生
  • 其他
  • 显示

但我希望将“其他”项目放在列表的底部。 像这样:

  • 汽车
  • 儿童
  • 女生
  • 显示
  • 其他

我该怎么做?

1 个答案:

答案 0 :(得分:23)

您可以使用此Orderby - “技巧”:

from c in child_categories 
orderby c.Translated_Syntax == "Other", c.Translated_Syntax

您可以通过以下方式记住它的工作原理:比较返回booltrue1false0。这就是orderby Translated_Syntax == "Other"最后列出“其他”的原因。如果您希望它在您之前,您必须反转条件或(更好)使用descending