相关疑难解决方法(0)

LINQ和CASE灵敏度

我有这个LINQ查询:

TempRecordList = new ArrayList(TempRecordList.Cast<string>().OrderBy(s => s.Substring(9, 30)).ToArray());
Run Code Online (Sandbox Code Playgroud)

它工作得很好,并以一种准确但与我想要的有点不同的方式进行排序.在查询的结果中,我看到这样的事情:

Palm-Bouter,Peter
Palmer-Johnson,Sean

而我真正需要的是将名称排序如下:

Palmer-Johnson,Sean
Palm-Bouter,Peter

基本上我希望' - '字符被视为低于字符,以便包含它的名称稍后在升序搜索中显示.

这是另一个例子.我明白了:

Dias,Reginald
DiBlackley,Anton

代替:

迪布拉克利,安东
迪亚斯,雷金纳德

正如您所看到的,由于大写字母"B"的处理方式,订单也会被切换.

所以我的问题是,我需要在LINQ查询中更改什么才能使其按照我指定的顺序返回结果.任何反馈都会得到极大的反响.

顺便说一句,我尝试使用s.Substring(9,30).ToLower(),但这没有帮助.

谢谢!

linq sorting linq-to-objects case-sensitive

2
推荐指数
1
解决办法
4102
查看次数

标签 统计

case-sensitive ×1

linq ×1

linq-to-objects ×1

sorting ×1