C#-按列表元素的首字母排序列表(StartsWith)

时间:2019-02-08 10:56:43

标签: c# string list startswith

考虑一个标准列表。 我需要对列表进行排序,以使显示的第一个元素是StartsWith(“ SI_IS”)

我问了我的一个朋友,他告诉我使用lambda自定义函数,是真的吗?

输出应该类似于

SI_ISFieldName
SI_ISbFieldName
SI_IScFieldName
F_FieldName
TB_FieldName
TB_bFieldName
...

3 个答案:

答案 0 :(得分:3)

您可以使用条件OrderBy,只需记住true高于false

var q = items.OrderByDescending(s => s.StartsWith("SI_IS"));

或者也许您发现这更具可读性:

var q = items.OrderBy(s => s.StartsWith("SI_IS") ? 0 : 1);

答案 1 :(得分:0)

您可以将OrderBy与Lambda表达式一起使用

myList.OrderByDescending(t => t.StartsWith("SI_IS"));

其中t.StartsWith("SI_IS")是自定义功能部分。

答案 2 :(得分:0)

您可以像这样使用Linq

listElements.OrderBy(x => x.StartsWith("SI_IS")).ToList();