在我的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)
关于c# - 是按ASCII代码在LINQ中排序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26144979/