Csharp/C#教程:.NET如何排序特殊字符?分享


.NET如何排序特殊字符?

为什么.NET按照与ASCII表中显示的顺序不同的顺序对字符“+”和“^”进行排序,或者对SQL进行排序。

在ASCII表中, “+”的值为42,“^”的值为94但是如果运行如下代码:

var list = new List { "+", "^", "!" }; list.Sort(); 

该列表将按以下顺序包含值:

{“!”,“^”,“+”}

LINQ排序生成相同的结果。 有人能告诉我.NET的类型吗?

.NET不使用ASCII,它使用Unicode。 执行字符串排序时,.NET(默认情况下)使用当前区域性的排序规则。 在这种情况下,这些规则表明“^”出现在“+”之前。 您可以使用“序数”字符串比较器获得您期望的结果:

 var list = new List { "+", "^", "!" }; list.Sort(StringComparer.Ordinal); // Order is "!", "+", "^" 

这由CompareInfo属性中定义的当前文化集定义。 每种文化都有特定于文化的字符串排序规则。

上述就是C#学习教程:.NET如何排序特殊字符?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1006799.html

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐