可以说我有字符串abc_和abc2_。现在,通常在排序时,C#abc2_会在 后面abc_,留下结果:
abc_abc2_如果重要的话,我用它来排序:
var element = from c in elements
orderby c.elementName ascending
select c;
Run Code Online (Sandbox Code Playgroud)
我怎样才能改变这个?我希望 abc_ 排在最后。反转不是一个选项,因为列表包含两个以上的元素。
最简单的解决方案是使用 .NET Framework 内置的序数字符串比较器:
var element = from c in elements
.OrderBy(c => c.elementName, StringComparer.Ordinal)
select c;
Run Code Online (Sandbox Code Playgroud)
无需自定义比较器类!