![](/img/trans.png)
[英]Sorting a DataTable, based on the ascii (or unicode) code of the characters
[英]Is sorting in LINQ by Ascii code?
在我的LINQ to Entities查询我有一个.orderby f.Description.Trim()
命令的原因.Trim()
是,一些从DB来的数据有一堆白色的空间,在他们的开始,所以我想修剪它们,以免影响排序。
现在它可以正确排序,但我在结果中看到类似以下内容:
[Queries - Blah]
Action
Adhere
Azalia
然后我查了ASCII
码"["
,它是91,而“ A”是65,那么为什么首先出现呢? 也许代码中还有其他原因导致这种情况,并且排序还可以吗?
如果可以将实际表达式编译为商店表达式,那么将按照商店实现的顺序进行排序。
因此:结果将取决于数据库,表和列的排序规则。
OrderBy使用默认的字符串比较器,而不使用ASCII(实际上是Unicode)序数比较。 实际上,这取决于您使用的当前文化。
而且,如果您考虑一下……如果您要对附录或索引的条目进行排序,则符号会出现在字母之前(至少是英文)。
如果要按“原始ascii值”排序,请使用
...OrderBy(s => s, StringComparer.Ordinal)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.