我有一个对象集合,假设它们是字符串:
string[] strings = new[]{"ABC", "AAA", "ADA", "DDB", "OEO"};
我需要对这些执行处理,因此:
foreach(string s in strings)
{
//do some stuff here
}
,但我必须始终确保在本例中对这些的处理首先使用"ABC"字符串。
请注意,尽管列表中可能有100个字符串,但它们总是唯一的,因此永远不会有两个"ABC"条目。
我已经尝试了使用OrderBy()扩展的各种排列,到目前为止还没有成功。
任何帮助都非常感谢。
在Daniel评论后编辑:
我真是个白痴。我所做的工作很好,除了当我需要orderderby降序()时我使用了orderderby。
foreach(string s in strings.OrderByDescending(s => s.Contains("ABC")))
{
//do things
}
这正是我想要的。
抱歉浪费了一个线程。如果有任何改进,我将很高兴听到。
尝试:
strings.OrderBy (o => o = ="ABC").ThenBy (o => o);
这将按特殊字符串排序,然后按字母顺序排序。