【发布时间】:2013-08-24 21:58:33
【问题描述】:
我有一个列表,我想循环并按固定名称对其进行排序。如果说我的列表中有项目,
List[0] = "Banana";
List[1] = "Orange";
List[2] = "Apple";
List[3] = "Olive";
然后我希望橙色始终位于顶部。 所以我的订单是Orange=>Banana=>Mango=>Olive。
我只是不知道如何以自定义方式对其进行排序。
我尝试过使用
list = list.OrderBy(x => x.Name).toList();
但这会使橄榄油在顶部。 有什么办法可以解决这个问题?有什么建议吗?
更新 如果列表中不存在橙色,则我不需要任何排序。
【问题讨论】:
-
您可以创建一个枚举(按照您希望项目排序的顺序放置项目),然后使用您在此处共享的相同 LINQ 查询(通过将每个枚举项目转换为 int)..因此,您的列表将是 List
-
@millimoose 你能告诉我怎么做吗?
-
@Happy ...认真的吗?这是集合操作 101。我什至链接到方法。
-
顺便说一句,您可能希望使您的代码示例和描述保持一致。在代码中你有“apple”,然后在下一行是“mango”,然后是“olive oil”而不是“olive”。您还向我们展示了一个字符串列表,但随后您对一些
Name属性进行了排序。