考虑一个标准列表。 我需要对列表进行排序,以使显示的第一个元素是StartsWith(“ SI_IS”)
我问了我的一个朋友,他告诉我使用lambda自定义函数,是真的吗?
输出应该类似于
SI_ISFieldName
SI_ISbFieldName
SI_IScFieldName
F_FieldName
TB_FieldName
TB_bFieldName
...
答案 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();