c# - 是按ASCII代码在LINQ中排序吗?

标签 c# linq

在我的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/

相关文章:

c# - 如何将 Beckhoff TwinCAT 3 链接到用 C# 创建的 Visual Studio HMI?

c# - Xamarin 和 C++ 代码

c# - 在PNG图像中用白色替换透明背景

c# - linq:随机排序

LINQ - 使用查询表达式计算数据时差

c# - 使用 LINQ 列出 XML

java - Java中字节数组的哈希

c# - 为什么在 C# 中将鼠标悬停在 const 变量上时,Visual Studio 2008 不显示它们的值?

c# - Sum List<T> List<T> 中每一项的属性

.net - 如果您可以使用任何 .NET DAL 技术,您会选择什么?