C#顺序列表由两个不同的东西组成

Kar*_*arl 5 c# list .net-4.0

假设我有以下列表:

var someList = new List<SomeObject>();
Run Code Online (Sandbox Code Playgroud)

其中包含以下条目:

SomeObject.Field

Apple
Orange
FruitBowl_Outside
Banana
Grape
FruitBowl_Inside
Run Code Online (Sandbox Code Playgroud)

我想对这个列表进行排序,以便FruitBowl条目位于底部,受此限制,一切都是字母的.

用词来说:

SomeObject.Field

Apple
Banana
Grape
Orange
FruitBowl_Inside
FruitBowl_Outside
Run Code Online (Sandbox Code Playgroud)

Fré*_*idi 9

您可以使用OrderBy()ThenBy()方法:

var orderedList = someList.OrderBy(obj => obj.Field.StartsWith("FruitBowl_"))
                          .ThenBy(obj => obj.Field);
Run Code Online (Sandbox Code Playgroud)